The baby son came to his father and asked the baby: what is DDD? But so that I understand


There is a question that I can’t figure out. It would seem that there is a ton of information on it: books, articles, reports. But the complexity and versatility of the topic does not immediately capture the essence. Will you help me with this?

To really understand a complex topic, you need to read and ponder many sources. The beauty is that each of them provides the same information in its own way, and some of these approaches may work just for you. So come on and I will try to contribute to the common information space. So what's your question?


What is Domain Driven Design?

This is an approach to automating business processes in complex subject areas.


So the goal of DDD is automation?

No, you can automate without it. The purpose of DDD is complexity management.


The complexity of what needs to be managed and why do it?

. , . , , [1]. , , . , β€” , , . β€” , , , . , , , .


, . , , -, , . , .


-, , . β€” , , .


DDD .


. : DDD? , , ?

, – .


, Β« Β»? ?

, . – , . , , -, , -, .


, . «». ? ?

, . , . , . . , .


. , , , . , , , . . ?

, ?


, .

. ?


.

?


. , .

, , , DDD: .


- β€œ ”.

, . , . . DDD , , , , [2].


, , ?

. . β€” , β€œβ€. .


? -, . β€” .

-, , β€” , . . -, , , . , ?


, .

. . β€” ; β€” . - , , . .


. , -, , . -, . - , , .


, , , .


. , .

. , ?


, . , .

. DDD : . . , . : . , , β€œβ€ .


. , , , ? , . , , . : , , . β€” . [6].


: DDD? . , , , - . ( ), , , , -. - β€œβ€ . , , , β€œ ”, , β€œ , ”[2]. , DDD.


, . , , , , , .


, , -. .

?


, , . β€” , - .

: , . , , , [1]. DDD Bounded context.


? : ?

, . . , , , , .


, . ? β€œ ” - . , β€œ ”. ?

, . , , , , β€œambiguity doesn't compile”[4]


, -. ?

, , . , ? , β€” , ?


.

, , [7], , , .


, .

. , , : , ? . . . . Bounded context (context) (bound) . , , β€œ ”. , .


Bounded context ?

. Bounded context. : , , .


, ? DDD .

-, , , .


-, β€” , . , .


, , .


: , β€” DDD, ?

-, , , . , , , , - , .


-, . . ? Bounded context, , ? , [3] BC?


.


, , DDD .

, DDD β€” . : β€œβ€¦ , , , "[5].


DDD : . . , - . : , . , , - .



  1. .
  2. . -
  3. . Event Storming
  4. Adam Dymitruk. Event Modeling: What is it?
  5. Simon Nightingale. Pedagogy for everyone.
  6. Fruit or vegetable

All Articles