Upload
mustafa-dagdelen
View
99
Download
1
Embed Size (px)
Citation preview
Domain Driven Design
Tackling Complexity in The Heart Of Software
agenda1- What is DDD?
2- Business Logic Layer Patterns
3- DDD Basics
4- DDD Patterns
5- Related Approaches
What ıs domaın drıven desıgn?
What ıs DDD?The term first described by Eric Evans in his book of the same name(2004).
Tackling ComplexityInt the Heart Of Software
What ıs DDD?DDD is an approach to resolve complex and evolving business requirements.
What ıs DDD?
Domain = Business
What ıs DDD?How to Taming Complexity?
Collaborate with stakeholders
What ıs DDD?How to Taming Complexity?
Where is behavior ?
What ıs DDD?Modelling Domain
Models dependent on technologies
What ıs DDD?How to Taming Complexity?
What ıs DDD?Modelling Domain
Publish News != Update News
UnPublish News != Remove News
What ıs DDD?Modelling Domain
Isolate business from technologies
What ıs DDD?How to Taming Complexity?
Classic Layered Architecture DDD Architecture
Focus on business
What ıs DDD?Modelling Domain
Use rich domain model
Busıness logıc layer patterns
BLL Patterns
BLL PatternsTransaction Script
BLL PatternsTable Module
BLL PatternsActive Record
Model, Persistence to Db, Business
All Together
BLL PatternsDomain Model
Focused on Core Business,
Persistence Ignored,
Model + Business
BLL Patterns
Ddd basıcs
DDD basıcsEntities
Objects that have a distinct identity
DDD basıcsValue Objects
An object that contains attributes but has no identity
DDD basıcsValue Objects
An object that contains attributes but has no identity
DDD basıcsBounded Context
DDD basıcsBounded Context
DDD basıcsBounded Context
DDD basıcsAggregates and Aggregate Root
Cluster of Entities and Value Objects
DDD basıcsDomain Services
DDD basıcsPersistence Ignorance
DDD basıcsRefactoring
One of the most important rules in DDD
DDD basıcsAnemic Domain Model vs Rich Domain Model
DDD basıcsAnemic Domain Model vs Rich Domain Model
Ddd patterns
DDD patternsWhen you remember that DDD is really just “OO software done right”, it becomes more obvious that strong OO experience will also stand you in good stead when approaching DDD.
- Jak Charlton
DDD patternsRepository
DDD patternsFactory
DDD patternsStrategy
DDD patternsDependency Injection
DDD patternsCQRS - Command Query Responsibility Seperation
DDD patternsCQRS - Command Query Responsibility Seperation
DDD patternsEvent Sourcing
Related thıngs
Related thıngsClean Code
Related thıngsNoSql Technologies
DDD very suitable for NoSql
Related thıngsTDD - BDD
Related thıngsEvent Driven Architecture
Related thıngsMicroservice Architecture
For More Informations...Books
1- Eric Evans - Domain Driven Design2- Jimmy Nilsson - Applying Domain Driven Design And Patterns3- Vaugh Vernon - Implementing Domain Driven Design
Websites - Thinker
1- Martin Fowler - Blog2- Greg Young3- Jimmy Bogard4- http://dddcommunity.org/5- InfoQ6- Pluralsight
questıons
THANKS
Mustafa Dağdelen