They are a coherent process that guides and regulates each other and ultimately ensures that an effective domain model and an expressive implementation evolve simultaneously. The design goals of the two different phases are consistent. If in the implementation process, the domain model is found to be duplicated, misplaced or missing, then the existing model is reconstructed and even the bounded context is re-divided. After that, enter the tactical design stage, deepen into the context of the bounds to model the domain, and guide the program design and coding implementation with the domain model. The boundary defines the boundary between the domain and the technology. By analyzing and modeling the problem domain, identifying the bounded context, using it to divide the relatively independent domains, and then establishing the relationship between them through the context mapping, supplemented by the hierarchical boundary and the hexagonal architecture to divide the logical boundaries and physics of the system. In the face of the customer's business needs, the domain experts and the development team fully communicate, through the needs analysis and knowledge refinement to obtain a clear problem domain.
Here is an excerpt from Zhang Yi’s words in the course of Domain Driven Strategy Design Practice: The following figure shows an evolutionary domain-driven design process:įrom: Zhang Yi's "Domain Driven Strategy Design Practice" Course More importantly, don't think that DDD is a set of frameworks.
PRINCIPLES PATTERNS AND PRACTICES OF DOMAIN DRIVEN DESIGN SOFTWARE
It is a collection of patterns (strategic patterns, tactical patterns), principles, and practices.Can be applied to software design to Management complexity。ĭDD is not a pattern language, it is a collaborative ideology focused on delivery, where Communication plays a central roleTo communicate efficiently, you need to use a common language.Įxperimental research to generate more useful models This chapter mainly introduces what DDD is, emphasizing that DDD is a development ideology. Principles and Practices of Domain Driven Design Strategic model: communicating between bounded contexts Tactical mode: Create an effective domain model Effective application design pattern First, what is domain-driven design It will be divided into four parts as follows: This is the first part:
This article is my study notes of "The Domain Driven Design Patterns, Principles and Practices" by Scott Millett & Nick Tune.