Domain-driven Design in Go: Aggregates

Domain-driven Design in Go: Aggregates

Using Value Objects and Entities goes a long way towards improving code readability and structure. But for effective system design in Domain-driven Design, you’ll need to understand a higher level building block: aggregates. In this post, I’ll explore what aggregates entail, how they relate to system design and how to create them in Go.
Dennis Vis
Dennis Vis
maart 23 2025
12 min read
Domain-driven Design in Go: Entities

Domain-driven Design in Go: Entities

Where Value Objects represent pieces of immutable data without an identity, entities represent identifiable elements within our systems. Entities generally have a lifecycle. They can be created, oftentimes deleted and are expected to be mutated during their lifespan.
Dennis Vis
Dennis Vis
mei 8 2023
9 min read
Domain-driven Design in Go: Value Objects

Domain-driven Design in Go: Value Objects

In an ideal world non-technical colleagues could read code and quickly recognize the concepts, rules, and processes that make up the business. Such an ideal might prove unreachable but I’d argue it’s worth striving for nonetheless. Value Objects offer one way of getting closer to that ideal.
Dennis Vis
Dennis Vis
mei 4 2023
10 min read