Domain-driven design
The term domain-driven design, also known as DDD, was coined by Eric Evans in his book Domain-Driven Design: Tackling Complexity in the Heart of Software, published in 2003. DDD consists of a set of principles and practices that focus on the domain model and domain logic, which help developers manage the complexity and build flexible and maintainable software. DDD is not bound to any particular technology or framework. You can use it in any software project, including web API development.
In Eric Evans’ book, he defines three important principles of DDD:
- Focusing on the core domain and domain logic
- Basing complex designs on the domain models
- Collaborating with technical and domain experts to iteratively refine the model that solves domain problems
A domain is a subject area that the software system is built for. The domain model is a conceptual model of the domain, which incorporates both data and behavior. Developers build the...