About the Talk
July 6, 2011 2:30 PM
NYC Domain Driven Design User GroupNYC Domain Driven Design User Group
Command-Query Responsibility Segregation (CQRS) represents a fundamental shift in how we look at architecting complex software solutions. It suggests that decomposition of complex systems into (relatively) narrowly-focused isolated subsystems with carefully-considered discrete responsibilities is the best way to manage complexity and achieve scalability. But CQRS has come under fire from its critics as introducing needless complexity to solve what are otherwise simple problems. Which is it?
Perhaps both :) In this session we’ll take a look at understanding CQRS as a set of fundamental design principles and explore common implementation patterns that many are today using to translate these principles into practice. Along the way, we’ll demystify terms like Event Sourcing, Read-Models, Command-Handlers, Write-only Domain Models, Message Buses, and more. We’ll explore all of these in the context of a working CQRS-based system that demonstrates these concepts in action.
The ideal attendee will have several years’ experience in complex and scalable software systems design and implementation, a working knowledge of C#. An understanding of the fundamentals of message-based architectures is helpful but not required.