Subject-oriented design is actually

Most articles and lectures talk about DDD as a kind of craft that is not accessible to many, in which the most important is the design of the model and everything around it. And the problem here is on the scale - we are talking more often about unconditionally important things with bricks, but not the whole landscape.


Under the cut, I would like to talk about what makes up the scale, why Evans needs to be read, why subject-oriented design is 100 years old for lunch and something on my own.



Strategic design


The fourth part of Eric Evans' book is dedicated to strategic design. Subject-oriented modeling as columns pass through your microservices, especially if they are decomposed into a subdomain. In the architecture of buildings, structures do not consist of a single column - they are built from many to receive a frame. How to get this framework and the last part of the Big Blue Book is written in three sections: interaction between contexts, model distillation, large-scale structure.


Interactions between contexts


Reflected as follows


A typeDescriptionPortrayed
PARTNERSHIPEqual relationships of mutual influence - two groups of developers separately deal with their limited contexts, resorting to interaction in order to achieve a common goal. In this interaction, both groups achieve success or failure.
GENERAL Kernel (SHARED KERNEL)(CORE DOMAIN), (GENERIC SUBDOMAINS) . .
β€” (CLIENT- SUPPLIER), - , . , . , - , , .
(CONFORMIST)-, . , .
(ANTICORRUPTION LAYER), , . , , .
(OPEN HOST SERVICE), .
(PUBLISHED LANGUAGE), , . β€” DICOM.
(SEPARATE WAYS).

, , β€” , .
Choosing a way to interact


β€” . Enterprise, , , . , , - , - ( meet' , .
, .




β€” , .


(Core Domain), . , .
(Generic Subdomains), . , , , . .
(Domain Vision Statement), , , . .. , .
(Highlighted Core), , , . . β€” β€” , . β€” β€” , .
(Cohesive Mechanisms), . , .
(Declarative Style), , - .
(Segregated Core), Low Coupling High Cohesion. .
(Abstract Core), . , .

, , . , . , .



, .


(System Metaphor)(), .
(Responcibility Layers). . , , .
(Knowlage Level), . .
(Pluggable Component Framework), , .
(Evolving Order), , , , . .



, , Big Blue Book , β€” . , , Agile CI, - , . .. , DDD.


, , .


100



DDD, , , .


, β€” :



20 , . , - :


1.       .
2.           .
3.          .
4.        .
5.        .

, "" , . - β€” .


, , , . , , . . , , . "", , , , . , .


, . -, . -, β€” . -, , , . -, . . , . . , . . , . . , . . , . . , . . , . . , . . , . . -, . . , . . , . . , . . , . . , . . , . . , . . , . . , . . , . . , . . . .. β€” VIII:


Composition viii


?


, , ().


-


1928 - 2000 . - . , , , ( EventStorming).



, . β€” , , .


DDD? .



, . β€” , . UX, . , . β€” . , , .



β€” . , , , , . β€” , . , , . , .


β€” . , - . , , . , β€” UX. β€” , . β€” . .


?


, . . . , .


1932 , , β€” . , . , . .. . , .



Domain Driven Design?


  • (, ..), , .
  • , ( ).
  • , .
  • DDD .
  • ML-, , .

    • ;
    • , .

, , . , , . , , , .


-


, , DDD , , . , () . . , , , . Agile β€” , .


- β€” , , . Agile . , , - .


, , , - β€” DDD, . β€” . - , .


, , DDD , . β€” , , , !





P.S. . , ! ...




All Articles