CQRS
CQRS stands for Command Query Responsibility Segregation. It's a pattern that I first heard described by Greg Young. At its heart is the notion that you can use a different model to update information than the model you use to read information. For some situations, this separation can be valuable, but beware that for most systems CQRS adds risky complexity. The mainstream approach people use for interacting with an information system is to treat it as a CRUD datastore. By this I mean that we have mental model of some record structure where we can create new records, read records, update existing records, and delete records when we're done with them. In the simplest case, our interactions are all about storing and retrieving these records. As our needs become more sophisticated we steadily move away from that model. We may want to look at the information in a different way to the record store, perhaps collapsing multiple records into one, or forming virtual records by combining informat
CQRS 14 July 2011 Martin Fowler domain driven design application architecture API design event architectures CQRS stands for Command Query Responsibility Segregation . It's a pattern that I first heard described by Greg Young . At its heart is the notion that you can use a different model to update information than the model you use to read information. For some situations, this separation can be valuable, but beware that for most systems CQRS adds risky complexity. The mainstream approach people use for interacting with an information system is to treat it as a CRUD datastore. By this I mean
Explore this link on the map →related reading
- Everything I know about good system designseangoedecke.com
- Best Practice - An Introduction To Domain-Driven Design | Microsoft Learnlearn.microsoft.com
- Clean Coder Blogblog.cleancoder.com
- The Distributed Computing Manifesto | All Things Distributedallthingsdistributed.com
- Presentation Domain Data Layeringmartinfowler.com
- Chain of Responsibilityrefactoring.guru
- Software Architecture Guidemartinfowler.com
- Core Concepts for System Design Interviews | Hello Interview System Design in a Hurryhellointerview.com
- Repeat yourself, do more than one thing, and... — programming is terribleprogrammingisterrible.com
- Home | C4 modelc4model.com
- System Design Concepts For Senior Engineersinterviewing.io
- Rhizome Research Logjzhao.xyz