Would you like to learn all about system building and architectures with Domain Driven Design? Join this course on CQRS, Domain Events, Event Sourcing and how to apply DDD, authored by Greg Young.
The largest problem many run into with Domain Driven Design is in getting the abstract concepts implemented in a concrete way. Many of the stereotypical architectures people use actually make it impossible to apply DDD. This CQRS course will help you avoid this. You will learn all about Command Query Responsibility Separation (CQRS), Domain Events, Event Sourcing and how to effectively apply DDD within an organisation.
Learn how to:
- Apply DDD to your organization and improve alignment between your software design and business needs
- Apply CQRS best practices to your DDD methodology
- Understand Domain Events to easily keep a record of all the inputs to a system
- Apply Event Sourcing as an effective transactional model for your business
What the community says
"One of the best courses I have been on. Lots of real examples and very engaging for an intense course on a big subject. Great to hear how ideas have evolved and how dependent on different scenarios, architectures may be appropriate."Julian Walls
"Learned a whole lot. The anecdotes and experiences really help in grasping the topics."Attendee
"Very enjoyable - I'd do it again."Neil Robbins
"Superb course - good practical examples backed up with solid theoretical knowledge. - Finn is Development Manager for Fundraising Innovations Ltd"Finn Newick, Fundraising Innovations Ltd
"have had the pleasure of spending a 2 day course and many geek beers with Greg Young talking about Domain-Driven Design specifically focussed on the Command and Query Responsibility Segregation (CQRS) pattern. Greg has taken Domain-Driven Design from how Eric Evans describes it in his book and has adapted mostly the technical implementation of it. Command Query Separation (CQS) was originally thought of by Bertrand Meyer and is applied at object level Bertrand defines CQS as: every method should either be a command that performs an action, or a query that returns data to the caller, but not both. In other words, asking a question should not change the answer."Mark Nijhof
- Domain Driven Design Review
- User intention and why it is important
- Exercise: Building a task based UI
- Command and Query Separation
- Introduction to events as a storage mechanism
- Exercise: Creating an event storage system
- Performance optimizations, snapshots
- Creation of an aggregate root that tracks its own state
- Conext Specifications to capture intent
- How events change testing strategies
- The Read System
- Partitionability of work, developer specialization, and outsourcing
- Eventual Consistency
- Organizational Sagas and the Ubiquitous Integration Language
- Versioning of the event log over long periods of time
- Pub/Sub and building disconnected systems
If you are an Architect or Senior Developer with a strong interest in Domain Driven Design and in particular how to use Command Query Responsibility Separation (CQRS), Domain Events and Event Sourcing, then Greg Young's course is for you!
There are no prerequisites to attend Greg's course.
To get the most out of this course, you are advised to read Eric Evans' book on Tackling Complexity in the Heart of Software
Bring your own hardware
To participate in this CQRS course, you are required to bring your own laptop, so you can develop with your own tools and languages, rather than something you are not familiar with.