Published Sep 3, 2019

Episode-226-Eric-Evans-on-Domain-Driven-Design-at-10-Years

Eric Evans revisits the enduring principles of Domain-Driven Design (DDD) as he discusses its integration with modern architectures like microservices and techniques such as Event Sourcing and CQRS, showcasing their collective impact on software scalability, efficiency, and strategic design.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Event Sourcing

    Event sourcing is a modeling technique that emphasizes storing state changes rather than the current state. explains that traditional systems focus on the current state, whereas event sourcing records each change, allowing the state to be derived from these changes. This approach is particularly beneficial for high-volume systems, as it allows for frequent updates without altering objects in place, thus enhancing scalability and parallelization 1.

    It's really making the model more explicit about the changes.

    ---

    inquires about the relationship between event sourcing and Domain-Driven Design (DDD), highlighting its role in event-centric problems 2.

       

    CQRS

    Command Query Responsibility Segregation (CQRS) is an architectural pattern that separates read and write operations to improve system efficiency. describes how CQRS and event sourcing emerged together, often working in tandem but remaining distinct concepts 3. In CQRS, commands handle updates, while queries manage data retrieval, allowing each to scale independently and efficiently 4.

    The command part is where we have to deal with all the issues of, well, what if, you know, a command came in to cancel the order and we've already shipped it?

    ---

    This separation ensures that complex business logic is handled in the command side, while the query side remains simple and fast.

Related Episodes