Introduction to DDD

Post on 10-May-2015

219 views 0 download

Tags:

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 of Introduction to DDD

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