The Example

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.

Share this book

Feedback

About the Author

Mark has worked in the software industry since 2000 during this time he has had many different roles, from Developer, Customer Support, Team Lead till Agile Coach. He currently works as a programmer working with erlang and javascript.

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

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Write and Publish on Leanpub

Authors, publishers and universities use Leanpub to publish amazing in-progress and completed books and courses, just like this one. You can use Leanpub to write, publish and sell your book or course as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.