introduction to ddd
DESCRIPTION
Domain driven design changed the way I did design. I wanted to introduce this to our new team. This presentation just introduces the main concepts of DDD. This is the first presentation that I am uploading to slides share.TRANSCRIPT
Introduction to Domain Driven Design
Ferose Khan J
01 WHY BOTHER ABOUT DOMAIN?
Domain
“Every software program relates to some activity or interest of its user. That subject area to which the user applies the program is the DOMAIN of the software.”
Story…
02 IS UNDERSTANDING DOMAIN EASY?
Let’s have some fun
What I wanted
Crunching Knowledge
• Brainstorming• Continuous learning• Effective modeling• Make concepts explicit
Language…
Communication
• Ubiquitous language• Model out loud• One team one language• Documents & diagram aid
communication
03 HOW TO BIND MODEL & IMPLEMENTATION?
Problem
Analysis Model Design model
Analysis model
Module1
Module2
Module3 Module4
Module3 Module8 Module9
Module5 Module6
Design model
Where’s the problem?
Ivory tower architect
No feedback from team
Results in brave speeches in the end
Solutions is hands-on modelers
Do Model Driven Design
• One model• Analysis and design one iterative
loop• Design a little• Make code an expression of model
04 WHAT ABOUT OTHER TECHNICAL REQUIREMENTS?
Isolate the domain from them
Model lives @Domain layer
05 HOW TO EXPRESS MODEL IN S/W?
Entities
Value Objects
Associations
Services
06 WHAT ABOUT THE LIFE CYCLE OF DOMAIN OBJECT?
Aggregates
Factories
Repositories
07 SO WHAT?
Our Domain
Medical software
• Saves life• Improves quality of life
Give a try
Questions?
Thanks
Ferose Khan Jeberlat @ferosekhanjd ferosekhanj.wordpress.coml http://lnkd.in/UJry2c