Domain Driven Design
If you are a software developer and want to become an Enterprise Architect or Solution Architect or Technical Architect. Then DDD or Domain Driven Design will help you to lead towards this path. Every Organization looking for better Software which is expandable and maintainable should start using Domain Driven Design. Which is followed by various Software Designs like Hexagon Architecture, Port and Adapter and Clean Architecture which are based on Domain Driven Design. In these series around 15 modules overall we are covering entire Domain Driven Design Concepts.
- There in total 13 Modules.
Syllabus
1. Introduction: Module-1 : Domain Driven Design
If you are a software developer and want to become an Enterprise Architect or Solution Architect or Technical Architect. Then DDD or Domain Driven Design will help you to lead towards this path. Every Organization looking for better Software which is expandable and maintainable should start using Domain Driven Design. Which is followed by various Software Designs like Hexagon Architecture, Port and Adapter and Clean Architecture which are based on Domain Driven Design. In these series around 15 modules overall we are covering entire Domain Driven Design Concepts.
2. Introduction: Module-2 : Domain Driven Design
- Domain
- Domain Expert
- Business Complexity and Technical Complexity
- Core Domain - Model
- Cost Center v/s Profit Center or Economic of no design
- Design v/s Technology - Business Logic
3. Introduction: Module-3 : Domain Driven Design
- Domain Driven Design Artifacts
- Strategic Design - Tactical Tools
- Understanding Problem Space and Solution Space
4. Introduction: Module-4 : Domain Driven Design
- Strategic Design
- What is Strategic Design?
- Ubiquitous Language
- Bounded Context
- Context Map
5. Introduction: Module-5 : Domain Driven Design
- Strategic Design
- What is Strategic Design?
- Ubiquitous Language
6. Introduction: Module-6 : Domain Driven Design
- Domain Driven Design Artifacts
- Strategic Design
- Context Mapping
7. Introduction: Module-7 : Domain Driven Design
- Strategic Design - Anti Corruption Layer
8. Introduction: Module-8 : Domain Driven Design
- Domain Driven Design Artifacts - Tactical Design
9. Introduction: Module-9 : Domain Driven Design
- Tactical Design
- Domain Objects
- Entities
- Value Objects
- Aggregate Roots
10. Introduction: Module-10 : Domain Driven Design
- Domain Driven Design Artifacts
- Tactical Design : Domain Abstractions
- Repositories
- Factories
- Services
11. Introduction: Module-11 : Domain Driven Design
- Tactical Design : Domain Abstraction - Factories
12. Introduction: Module-12 : Domain Driven Design
- Tactical Design : Domain Abstraction - Repositories
13. Introduction: Module-13 : Domain Driven Design
Implementation of Domain Driven Design : Event Storming
Event Storming
Please note Event Sourcing & CQRS and Event Storming are different things. In Old Days Software Architect/Developer and Domain Expert talk about domain using Activity Diagram or Use Case Diagram, sometime Sequence diagram as well or ER Diagram. While discussing with Domain Expert these are not a good approach. If you want to fetch much more information from Domain Expert than use Event Storming. Event storming is an Exercise for creating Domain Models for strategic design. Domain à Sub Domains à Domain Model for each sub-domain. Run Event Storming as a Workshop in presence of Facilitator, so he can guide both Domain Expert and Developer/Architect.