CQRS cover page



The Example

This book is 100% complete


About the Book

In 2009 I 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 Command Query Responsibility Segregation (CQRS).

The example project I created based on these discussions was very well received by the community and regarded a good reference project to explain and learn the patterns that make up CQRS. I decided to add the different blog posts I wrote about the example into a single book so it is easy to find and read.

You can find some reviews on Amazon and of course the Kindle version and a paperback version. The source code that the book walks you through is written in C# and can be found on Github.

If for whatever reason you cannot afford the pay for this book, please e-mail me at mark.nijhof@cre8ivethought.com and I'll get you a free copy!

Read more

Table of Contents

  • Miscellaneous
    • About
    • The cover
  • CQRS à la Greg Young
    • Queries (reporting)
    • Commands (executing behavior on the domain)
    • Command Handler
    • Internal Events (capturing intent)
    • Domain Behavior
    • Domain Event
    • Internal Domain Event Handler
    • The Domain Repository
    • Domain Repository Contract
    • Data Mining
    • External Events (publishing, letting others know)
    • Eventual Consistency
    • Specifications
    • Some other benefits
    • Finally
  • Domain Events
    • Using domain events for state change
    • Getting the state changes
    • Loading historical domain events
    • The base class
    • Aggregate entities
    • Finally
  • Domain State
  • Event Sourcing
  • Event Versioning
  • Scalability
  • Specifications
    • Black box
    • The BaseTestFixture
    • The BaseTestFixture<TSubjectUnderTest>
    • The PresenterTestFixture<TPresenter>
    • CQRS and Event Sourcing
    • Where is Should?
    • Finally
  • Using conventions with Passive View
    • Passive View
    • The View
    • The Presenter
    • The Magic
    • Reflection
    • The Specifications
  • The Ubiquitous Language is not Ubiquitous
  • Convention over Configuration
    • Configure your Conventions
    • Not just for framework code
  • Trying to make it re-usable
    • Convention over Configuration
    • Why have everything protected?
    • Reflect only once
    • Conventional limits
    • Current state
    • Finally
  • Links
    • Examples

Read More

About the Author

The Leanpub Unconditional, No Risk, 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks. We process the refunds manually, so they may take a few days to show up.
See full terms