Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

Domain Driven Design

Domain Modeling Gone Wrong to Right

So, you are applying domain-driven design and want to define aggregates. Let’s go over ways to define them with an example domain, and you might be surprised by the outcome. Domain modeling is about capturing domain concepts not just as data and relationships but exposing behaviors. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Preface This is a continuation of Part 1, where I reviewed a common domain modeling approach, which I disagreed with and explained why. The TLDR is you cannot start domain modeling by… Read More »Domain Modeling Gone Wrong to Right

DDD is just giving a 💩 about your Domain

When illustrating domain-driven design (DDD), sample/reference applications do more harm than good. Overall in a vacuum, they’re a net negative. It isn’t easy to convey the complexity and trade-offs made using trivial code examples. Beyond that, the code samples themselves are the wrong starting point. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Where NOT should you start The typical developer path when thinking about DDD is jumping into code. Code samples and demos are great for illustrating patterns or concepts. The problem is when patterns… Read More »DDD is just giving a 💩 about your Domain

That’s NOT an Aggregate in Domain Driven Design

Are you frustrated that you have to open multiple files across multiple layers to make what seems like a simple change? One of the culprits for this is following structure and templates that apply patterns or concepts to solve problems you might not have. One typical case of this is using aggregate from domain drive design. In this video, I’ll give examples of where an aggregate can make sense and where it’s not and adds useless indirection. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Useless… Read More »That’s NOT an Aggregate in Domain Driven Design