
Domain-Driven Design (DDD) focuses on the core business domain and its logic.
Core concepts:
1. Ubiquitous language — shared vocabulary between developers and domain experts.
2. Entities — objects with identity that change over time.
3. Value objects — immutable objects defined by their values.
4. Aggregates — clusters of domain objects treated as a unit.
5. Repositories — abstractions for retrieving and persisting aggregates.
Architecture impact: DDD shapes your .NET Core model around business rules instead of database tables or frameworks.
Reference:
TaskLoco™ — The Sticky Note GOAT