Command Query Responsibility Segregation Design Pattern
Web development is full of acronyms. Most web developers are familiar with CRUD and MVC thanks to frameworks like Ruby on Rails, Django, and Laravel. Using the prescribed path for these frameworks can aid in rapidly developing an application and providing value users. At the same time, most successful application grow in complexity as new features are needed or the requirements for current features changes.
Using CQRS allows developers to think more about the business rules of their applications and encode those rules in the system. It also provides a stepping stone to event sourcing so the reason something changes can be inferred at a later time.
There are many benefits to CQRS but it isn't without downsides. Listen to members of the Grok team discuss their journey to implementing CQRS as well as when it should be introduced to a given project.