Upload
tomas-dermisek
View
237
Download
1
Tags:
Embed Size (px)
Citation preview
Introduction to Domain Driven Design
How can an IT Dev Dept improve in achieving business driven goals
Successful enterprise must be able adapt fast to new market conditions
IT department is a key element to support such change
• Business complexity grows and changes quickly!
• We must find the way how to achieve the goals set by a business!
Understand and follow DDD paradigms
We have been doing all these things, but our own way
Spaghetti code
Objects with too many responsibilities
Untested code is difficult to change later
• application bugs
• creating of Heroes
• barrier for new features
Fear Driven Development
We should utilize existing knowledge and best practices
What is DDD?
• Domain Knowledge
• Ubiquitous Language
• Bounded Context
Layered Architecture
Building Blocks
• Entity: Contractor, Contractor Rate
• Value Object: CXC_Date
• Aggregate: Invoice, Contractor, Wree
• Service: Company Service
• Factory: Company Contact Factory
• Repository: Contractor Repository
Building Blocks
Started with Entities
Factories
Unit tested!
Services
Repositories
Repositories
Aggregates
Aggregate Root
Aggregate Members
Value Objects
What is next?
Improve Domain Layer
• Ongoing process of refactoring driven by Business requirements
• No need for complete overhaul – iterative process is more aligned with Business needs.
Thank you!