Entities, Value Objects, and Aggregates
In the previous chapter, we learned about some of the core concepts of domain-driven design. In this chapter, we will build upon that foundational knowledge to learn more patterns and concepts, which will help you on your journey to mastering DDD. We will start by looking at entities and value objects. This is where we will write most of the business logic for our domain-driven application.
We will finish by looking at aggregates, which are useful when we need to cluster domain objects together and treat them as a single item.
In this chapter, we will cover the following topics:
- What is an entity, and how should I use it?
- What are some common pitfalls when designing entities, and how can I avoid them?
- What is a value object, and how should I use it?
- What is the aggregate pattern, and how should I use it?
- How do I discover aggregates?
By the end of this chapter, you will be able to identify some common pitfalls...