Domain-Driven Design (DDD) is a design philosophy for handling highly complex domains. It aims to separate the complexity of technical implementation and focuses on constructing domain models around business concepts to manage business complexity. This approach addresses challenges such as software being difficult to understand and evolve. By applying DDD, teams can successfully develop complex business software systems that remain agile as they scale.


Based on daily work practices, DDD can be divided into the following three phases:

  1. Strategic Design (Phase One): Business-driven design that ignores technical implementation details, providing input on business alignment, flexible boundary alignment, and investment priorities for system architecture design.
  2. Tactical Design (Phase Two): Based on the outputs from strategic design, this phase involves further abstraction, serving as a transition between strategic design and technical implementation. It provides key inputs for technical implementation, such as abstract models, integration relationships, and interface designs.
  3. Technical Implementation (Phase Three): Based on the outputs from strategic and tactical design, this phase involves technical design related to:

Below, the methods and templates for Phase One (Strategic Design) will be introduced as a priority. Subsequent updates will cover additional content. Interested parties can utilize and apply them as needed.


Phase One: Strategic Design

Event Storming

Through team collaboration, identify key events, commands, and entities within the domain.

Domain Term Identification

Extract and define the core concepts and terminology within the domain.

Subdomain and Bounded Context Division

Decompose large, complex systems into smaller, relatively independent subdomains and determine their boundaries.


These steps are typically performed iteratively rather than as a strictly linear process. Teams need to maintain focus on the domain throughout the development process and continuously adjust the design based on new insights.