DOMAIN-DRIVEN DESIGN
Domains, Subdomains, and Bounded Contexts
DOMAIN-DRIVEN DESIGN
Learned so far
- DDD is about modelling the application through discussion, listening, understanding, discovery and business value
- Ubiquitous Language is a team language created by everyone on the project team, centered on how the business itself thinks and operates
DOMAINs and subdomains
overview
- What an organization does and the world it does it in
- Domain of the organization is composed of Subdomains
(SUB)DOMAIN
OVERVIEW
- Separating complex business domains
- Usually reflect some organizational structure
- Responsible of a single business unit
- Delimit the applicability of domains models
domain model
OVERVIEW
- Abstraction of a domain taking whats necessary to satisfy requirements
- Build by developers as a result of the interaction with the domain experts
- The solution to the problem raised by the business (sub)domain
- Evolves through the entire ALM
- Uses Ubiquitous Language as a software model
- Abstraction of a domain taking whats necessary to satisfy requirements
- Build by developers as a result of the interaction with the domain experts
- The solution to the problem raised by the business (sub)domain
- Evolves through the entire ALM
- Uses Ubiquitous Language as a software model
Bounded Context
OVERVIEW
- Linguistic boundary through isolated ubiquitous language
- Explicit boundary within which a domain model exists and is applicable
- Responsibility is enforced with explicit boundaries
- Regulates third party domain models (ERP, HR, etc)
- Linguistic boundary through isolated ubiquitous language
- Explicit boundary within which a domain model exists and is applicable
- Responsibility is enforced with explicit boundaries
- Regulates third party domain models (ERP, HR, etc)
bounded context
REAL-WORLD (System) EXAMPLES
- Ecommerce - Inventory System, (External) Forecast System, e-Commerce System
- ATM & POS First Line Maintenance - Provisioning System, Call Center System, Security System
- Franchise Restaurants - Provisioning System, Payment System, Training System
- Ecommerce - Inventory System, (External) Forecast System, e-Commerce System
- ATM & POS First Line Maintenance - Provisioning System, Call Center System, Security System
- Franchise Restaurants - Provisioning System, Payment System, Training System
E-commerce
BOUNDED CONTEXT
Based on your projects
?
IDENTIFYING SUBDOMAINS
CORE DOMAIN
- Drives the main business value to the system
- The domain that may give a competitive edge
- May represent the main difference compared to other systems in the industry
- May be the most challenging business unit
- Drives the main business value to the system
- The domain that may give a competitive edge
- May represent the main difference compared to other systems in the industry
- May be the most challenging business unit
core domain examples
real-world examples
- Ecommerce - Forecast System for Stock management
- ATM & POS First Line Maintenance - Call Center
- Franchise Restaurants - Provisioning Logistics
- Ecommerce - Forecast System for Stock management
- ATM & POS First Line Maintenance - Call Center
- Franchise Restaurants - Provisioning Logistics
E-COMMERCE
CORE DOMAIN EXAMPLES
BASED ON your projects
?
DOMAIN-DRIVEN DESIGN DOMAINS, SUBDOMAINS, AND BOUNDED CONTEXTS
By dragoshont
DOMAIN-DRIVEN DESIGN DOMAINS, SUBDOMAINS, AND BOUNDED CONTEXTS
- 3,187