The following tutorial describes concepts of Domain Driven Design and best practices for applying Domain Driven Design (DDD).

DDD is an approach for developing software systems that have ever changing business rules and that is expected to last for a long while within the enterprise. You are unlikely to see a return on your investment in DDD if you use it on small, simple, short-term projects.

The core of DDD uses a set of techniques to analyze your domain and to construct a conceptual model that captures the core concepts of the enterprise. The resulting domain model will become the basis for your solution.