CQRS, DDD and Event Sourcing: What it really means
Buzzwords solve nothing. However, surrounding many of them are a set of ideas, concepts and technologies that help us to design and build better software. This fast-paced 1-day seminar focuses on how Domain Driven Design, Command Query Responsibility Segregation and Event Sourcing come together to help us capture business requirements and map them into loosely coupled, well tested, to-the-point code.
The session begins by taking a quick overview of TDD and BDD, with a focus on how they help with mapping requirements to code, but alone fall short of really helping us to deal with our largest challenge: managing software complexity.
With these ideas and their limitations in mind, we'll look at what Domain Driven Design brings to the table, and see how it helps us to manage complexity. Topics covered will include domain models, ubiquitous language, bounded contexts and composites. We'll discuss how applying DDD successfully involves more than just transforming development; instead, it has wider implications for the whole organization.
With a design approach in mind, we'll now turn to implementation. Drawing on a desire for clean OO design, a hunger for really testing our core business logic and a thirst for encoding the domain model in the code base, we'll put aside our traditional, database-driven development approach and evolve a new one from the ground up - discovering CQRS and Event Sourcing along the way.
You'll leave the course with some new ways to look at things, and a whole bunch of ideas on how to improve your software development.
The course includes code examples, which are in C#. Therefore, being at least able to read code in this language - even if you don't actively develop in it - would be helpful. No prior knowledge of DDD, CQRS or Event Sourcing is required.
Printed course material included.