рдмрдЪреНрдЪрд╛ рдмреЗрдЯрд╛ рдЕрдкрдиреЗ рдкрд┐рддрд╛ рдХреЗ рдкрд╛рд╕ рдЖрдпрд╛ рдФрд░ рдЙрд╕рдиреЗ рдмрдЪреНрдЪреЗ рд╕реЗ рдкреВрдЫрд╛: DDD рдХреНрдпрд╛ рд╣реИ? рд▓реЗрдХрд┐рди рдЗрддрдирд╛ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ


рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░ рдПрдХ рдЯрди рдЬрд╛рдирдХрд╛рд░реА рд╣реИ: рдХрд┐рддрд╛рдмреЗрдВ, рд▓реЗрдЦ, рд░рд┐рдкреЛрд░реНрдЯред рд▓реЗрдХрд┐рди рд╡рд┐рд╖рдп рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рддреБрд░рдВрдд рд╕рд╛рд░ рдкрд░ рдХрдмреНрдЬрд╛ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдореЗрдВ рдореЗрд░реА рдорджрдж рдХрд░реЗрдВрдЧреЗ?

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЬрдЯрд┐рд▓ рд╡рд┐рд╖рдп рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдИ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕реБрдВрджрд░рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреЗ рддрд░реАрдХреЗ рд╕реЗ рдПрдХ рд╣реА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЗ рд▓рд┐рдП рдмрд╕ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рддреЛ рдЪрд▓реЛ рдФрд░ рдореИрдВ рд╕рд╛рдорд╛рдиреНрдп рд╕реВрдЪрдирд╛ рд╕реНрдерд╛рди рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рддреЛ рдЖрдкрдХрд╛ рд╕рд╡рд╛рд▓ рдХреНрдпрд╛ рд╣реИ?


Domain Driven Design рдХреНрдпрд╛ рд╣реИ?

рдпрд╣ рдЬрдЯрд┐рд▓ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИред


рддреЛ DDD рдХрд╛ рд▓рдХреНрд╖реНрдп рд╕реНрд╡рдЪрд╛рд▓рди рд╣реИ?

рдирд╣реАрдВ, рдЖрдк рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреАрдбреАрдбреА рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЬрдЯрд┐рд▓рддрд╛ рдкреНрд░рдмрдВрдзрди рд╣реИред


рдХреНрдпрд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рдХреНрдпреЛрдВ рдХрд░рдирд╛ рд╣реИ?

. , . , , [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. рдПрдбрдо рдбрд╛рдЗрдорд┐рдЯреНрд░реБрдХред рдИрд╡реЗрдВрдЯ рдореЙрдбрд▓рд┐рдВрдЧ: рдпрд╣ рдХреНрдпрд╛ рд╣реИ?
  5. рд╕рд╛рдЗрдорди рдирд╛рдЗрдЯрд┐рдВрдЧреЗрд▓ред рд╕рднреА рдХреЗ рд▓рд┐рдП рд╢рд┐рдХреНрд╖рд╛рд╢рд╛рд╕реНрддреНрд░ред
  6. рдлрд▓ рдпрд╛ рд╕рдмреНрдЬреА

All Articles