Lalit Kalee-Zest Solutions Ltd.Domain Driven Design
Problem
Problem- Characters Involved
ProblemDiverse Characters to solve one problemEverybody talks in different languageUltimate Result- Delivered solution is brittle and Fragile
Everybody who are involved should talk  in one LanguageStep 1 : Agree on language terminology and definitionsStep 2: Call on the language expertStep 3 : Use Business model to device the languageSolution
Domain:  “Afield of study that defines a set of common requirements, terminology, and functionality for any software program constructed to solve a problem in that field “.Driven:  Focused onDomain Driven Development
Domain:  “Afield of study that defines a set of common requirements, terminology, and functionality for any software program constructed to solve a problem in that field “. = Problem DomainDomain Model: The domain model is a rigorously organized and selective abstractionsof knowledge’Domain Driven Development
Traditional ArchitecturePresentationBusiness LayerInfrastructure/Utility/LibraryData Access (DAL)
DDD ArchitectureUser InterfaceApplication ServicesMDomain ServicesDatabaseDomain ModelServicesFilesystemTestsInfrastructureetc
DDD ArchitectureUser InterfaceApplication ServicesMDomain ServicesDatabaseDomain ModelServicesFilesystemTestsInfrastructureetc
DDD JargonConceptual
Ubiquitous Language
Bounded Contexts
Persistence Ignorance
Refactoring
Command Query Separation (CQS)
When to use DDD
When NOT to Use DDD
Patterns

Domain Driven Design