рдбреЛрдореЗрди-рд╕рдВрдЪрд╛рд▓рд┐рдд рдбрд┐рдЬрд╝рд╛рдЗрди: рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреБрд╕реНрдЦрд╛


рдбреАрдбреАрдбреА рдЖрдорддреМрд░ рдкрд░ рдЧрд▓рдд рд╕рд╛рдЗрдб рд╕реЗ рдХреНрдпреЛрдВ рдЖрддреЗ рд╣реИрдВ? рдФрд░ рдЖрдк рдХрд┐рд╕ рдкрдХреНрд╖ рдХреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЬрд┐рд░рд╛рдл рдФрд░ рдкреНрд▓реИрдЯрд┐рдкрд╕ рдХреЛ рдЗрд╕ рд╕рдм рд╕реЗ рдХреНрдпрд╛ рд▓реЗрдирд╛ рджреЗрдирд╛ рд╣реИ?

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣реИрдмрд░ рдХреЗ рд▓рд┐рдП - рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдПрдХ рдкрд╛рда рдкреНрд░рддрд┐рд▓реЗрдЦ "рдбреЛрдореЗрди-рд╕рдВрдЪрд╛рд▓рд┐рдд рдбрд┐рдЬрд╛рдЗрди: рдПрдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдиреБрд╕реНрдЦрд╛ред" рд░рд┐рдкреЛрд░реНрдЯ DotNext .NET рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рди рдХреЗрд╡рд▓ рджрд╛рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рднреА рд╣реИ рдЬреЛ DDD рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ (рд╣рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдЖрдк C # рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдорд╛рд╕реНрдЯрд░ рдХрд░реЗрдВрдЧреЗ)ред рд░рд┐рдкреЛрд░реНрдЯ рдХреА рдПрдХ рд╡реАрдбрд┐рдпреЛ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рднреА рд╕рдВрд▓рдЧреНрди рд╣реИред



рд╕рднреА рдХреЛ рдореЗрд░рд╛ рдирдорд╕реНрдХрд╛рд░, рдореЗрд░рд╛ рдирд╛рдо рдПрд▓реЗрдХреНрд╕реА рдорд░реНрд╕рди рд╣реИред рдореИрдВ рдЖрдкрдХреЛ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ Domain-Driven Design рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рд╕рд╛рд░ рдХреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЬрд╛рдиреЗрдВ рдХрд┐ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИред



рдорд╛рд░реНрдЯрд┐рди рдлрд╛рдЙрд▓рд░ рдиреЗ рдХрд╣рд╛: "рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рд╕реЗ рдХрдо рддрд╛рд░реНрдХрд┐рдХ рд╣реИрдВред" рдЬрд┐рд░рд╛рдл рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрди рдХреБрдЫ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЬрд┐рд░рд╛рдл рдХреЗ рдорд╕реНрддрд┐рд╖реНрдХ рдФрд░ рд╕реНрд╡рд░рдпрдВрддреНрд░ рдХреЗ рдмреАрдЪ рдХреА рджреВрд░реА рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реЗрдВрдЯреАрдореАрдЯрд░ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓реА рддрдВрддреНрд░рд┐рдХрд╛ 4 рдореАрдЯрд░ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рддреА рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд╣ рдкреВрд░реА рдЧрд░реНрджрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреАрдЪреЗ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд╣рд╛рдВ рд╡рд╣ рдзрдордиреА рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╡рд╣ рд▓рдЧрднрдЧ рдЙрд╕реА рддрд░рд╣ рд╡рд╛рдкрд╕ рдЬрд╛рддрд╛ рд╣реИред

рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдкреНрд░рд╛рдЪреАрди рдордЫрд▓реА рд╕реЗ рдмрдЪреА рд╣реБрдИ рдПрдХ рдШрдиреА рд╡рд┐рд░рд╛рд╕рдд рд╣реИред рдордЫрд▓реА рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдХреЛрдИ рдЧрд░реНрджрди рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рддрдВрддреНрд░рд┐рдХрд╛ рдЗрд╖реНрдЯрддрдо рдкрде рдХреЗ рд╕рд╛рде рдЪрд▓рддреА рд╣реИред рдФрд░ рдЬрдм рд╕реНрддрдирдзрд╛рд░рд┐рдпреЛрдВ рдХреЗ рдХрдИ рдорд┐рд▓рд┐рдпрди рд╡рд░реНрд╖реЛрдВ рдХреЗ рдмрд╛рдж рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рдж рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рддреЛ рддрдВрддреНрд░рд┐рдХрд╛ рдХреЛ рдкрд┐рдЫрдбрд╝реЗрдкрди рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред рдЦреИрд░, рдХреБрдЫ рдЬрд┐рд░рд╛рдл рдХреА рд╡рдЬрд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рди рдХрд░реЗрдВ?

рд▓реЗрдХрд┐рди рдЬрд┐рд░рд╛рдл рдареАрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдкреНрд▓реИрдЯрд┐рдкрд╕ рд╣реИред


рдЗрд╕ рдкрд░ рд╕реЛрдЪреЛред рд╕реНрддрдирдкрд╛рдпреА рдПрдХ рдЪреЛрдВрдЪ рдХреЗ рд╕рд╛рдеред рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдкрд╛рдиреА рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред рдЕрдВрдбреЗ рджреЗрддреА рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╣рд░реАрд▓рд╛ред рдРрд╕рд╛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рддрд╛рд░реНрдХрд┐рдХ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╡рд╣ рдСрд╕реНрдЯреНрд░реЗрд▓рд┐рдпрд╛ рд╕реЗ рд╣реИред

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдЕрдзрд┐рдХ рдХреЗрд▓рд╛ рд╣реИред рдареЗрдХреЗрджрд╛рд░ рдХреЗрд╡рд▓ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреВрд▓ рдЧрдпрд╛ рдФрд░ рд╕реНрдЯреИрдХрдСрд╡рд░рдлреНрд▓реЛ рдХреЗ рд╕рд╛рде рдмрдЪ рдЧрдпрд╛, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛ рдЙрди рджрд┐рдиреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рдерд╛ред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ: "рдЕрд▓реЗрдХреНрд╕реА, рдареАрдХ рд╣реИ, рдЖрдкрдиреЗ рд╣рдорд╕реЗ рдбреЛрдореЗрди-рд╕рдВрдЪрд╛рд▓рд┐рдд рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд╛ рд╡рд╛рджрд╛ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдпрд╣рд╛рдБ" рдЬрд╛рдирд╡рд░реЛрдВ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ "рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╣реИ!"

рд╕рд╣рдХрд░реНрдореА, рд╡рд┐рдХрд╛рд╕ рдХреНрдпрд╛ рд╣реИ? рд╡рд┐рдХрд╛рд╕ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рд╣рдо рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХрд╛ рдХреБрдЫ рд╣рд┐рд╕реНрд╕рд╛, рдПрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓реЗрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реЗ рдХреЛрдб рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рдд рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдореЙрдбрд▓ рдмрдирд╛рддреЗ рд╣реИрдВред рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдХрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╣рдореЗрдВ рдЗрдВрддрдЬрд╛рд░ рд╣реИ?

рдкрд╣рд▓рд╛ рд╕реНрд╡рдпрдВ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдХрдард┐рдирд╛рдИ рд╣реЛрддреА рд╣реИ рдХрд┐ рд╡реНрдпрд╡рд╕рд╛рдп рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╡рд╣рд╛рдВ рдХреМрди рд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛ рд░рд╣реА рд╣реИрдВ, рд╡реЗ рдХрд┐рд╕ рддрд░реНрдХ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╣реИрдВред

рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЗрди рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд╕рд╣реА рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ, рд╕рд╣реА рджреГрд╖реНрдЯрд┐рдХреЛрдг, рдФрд░ рдЗрд╕реА рддрд░рд╣ рд╣реИред рдпрд╣ рднреА рдПрдХ рдЬрдЯрд┐рд▓ рд╡рд┐рд╖рдп рд╣реИред

рджреЗрдЦреЛ, рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЙрд╕ рдЬрд┐рд░рд╛рдлрд╝ рдХреА рддрд░рд╣ рд╣реИрдВ: рдЙрдиреНрд╣реЛрдВрдиреЗ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдПрдХрдХреЛрд╢рд┐рдХреАрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХреА, рдФрд░ рдлрд┐рд░ "рдпрд╣" рдЖрдкрдХреЛ рджреЗрдЦрддрд╛ рд╣реИ, рдФрд░ рдХреЛрдИ рднреА рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ "рдпрд╣ рдХрд╣рд╛рдБ рд╕реЗ рдЖрдпрд╛" рдпрд╛ "рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ"ред

рдРрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рдлрд▓ рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдкреНрд░рд╢реНрди "рдХреНрдпреЛрдВ?" рдХрд╛ рдЙрддреНрддрд░ рджреЗрдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдЗрд╕ рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреНрдпреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рд╣рдо рдХрд┐рди рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдЖрдЦрд┐рд░рдХрд╛рд░, рдпрджрд┐ рдЧреНрд░рд╛рд╣рдХ рдПрдХ рдЬрд┐рд░рд╛рдл рднрд░рд╡рд╛рдВ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╣рд┐рдореНрдордд рдорд┐рд▓реА, рддреЛ рд╡рд╣ рдкрд░реЗрд╢рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛, рднрд▓реЗ рд╣реА рдЗрд╕ рдореЙрдбрд▓ рдореЗрдВ рдкрд╛рдЪрди рдЖрдВрдЦреЛрдВ рдХреА рдЦрд╛рддрд┐рд░ рд▓рд╛рдЧреВ рд╣реЛред рдФрд░ рдЧреНрд░рд╛рд╣рдХ рди рдХреЗрд╡рд▓ рдкреИрд╕рд╛ рдФрд░ рд╕рдордп рдЦреЛ рджреЗрдЧрд╛, рд╡рд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо рдкрд░ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЦреЛ рджреЗрдЧрд╛, рдФрд░ рд╣рдо рдЕрдкрдиреА рдкреНрд░рддрд┐рд╖реНрдард╛ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдЦреЛ рджреЗрдВрдЧреЗред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рд▓рдХреНрд╖реНрдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓реЗрддреЗ рд╣реИрдВ, рддрдм рднреА рдпрд╣ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣рдореЗрдВ рдкреНрд▓реИрдЯрд┐рдкрд╕ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд▓рдХреНрд╖реНрдп рдХреЛ рд╕рдордЭрдирд╛ рдмрд╣реБрдд рдХрдо рд╣реИред рд▓рдХреНрд╖реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рдЗрд╕рд╕реЗ рд╣рдореЗрдВ Domain-Driven Design рдореЗрдВ рдорджрдж рдорд┐рд▓рддреА рд╣реИред

рдбреЛрдореЗрди-рдЪрд╛рд▓рд┐рдд рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд╛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдЙрдирдХреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдФрд░ рдХреЛрдб рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рдирд╛ рд╣реИред "рдбреЛрдореЗрди" рдХрд╛ рдЕрдиреБрд╡рд╛рдж "рдбреЛрдореЗрди" рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рдбреЛрдореЗрди рд╕реЗ рджреВрд░ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Domain-Driven Design рдореЗрдВ рдХрдИ рдЪреАрдЬреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ рд░рдгрдиреАрддрд┐рдХ рдбрд┐рдЬрд╛рдЗрди, рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЗ рдмреАрдЪ рдмрд╛рддрдЪреАрдд, рдФрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛, рдФрд░ рд╕рд╛рдорд░рд┐рдХ рдкреИрдЯрд░реНрди рдХреЗ рд▓рд┐рдП рджреГрд╖реНрдЯрд┐рдХреЛрдг - рдпрд╣ рдПрдХ рд╕рдВрдкреВрд░реНрдг рд╢рд╕реНрддреНрд░рд╛рдЧрд╛рд░ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ "рд▓реЗрдХрд┐рди" рд╣реИред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдбреЛрдореЗрди-рд╕рдВрдЪрд╛рд▓рд┐рдд рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рд╕рд╛рде рдЬрдЯрд┐рд▓рддрд╛ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдпрд╣ рд╕реАрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдбреЛрдореЗрди-рдбрд┐рдЬрд╝рд╛рдЗрди рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЬрдЯрд┐рд▓рддрд╛ рд╕реЗ рдХреИрд╕реЗ рдирд┐рдкрдЯреЗрдВред



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

рдбреЛрдореЗрди-рдбреНрд░рд┐рд╡реЗрди рдбрд┐рдЬрд╝рд╛рдЗрди рд╢рдмреНрдж рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ 2003 рдореЗрдВ рдПрд░рд┐рдХ рдЗрд╡рд╛рдВрд╕ рдиреЗ рдЕрдкрдиреА рдЕрдкреНрд░рд╛рдкреНрдп рдкреБрд╕реНрддрдХ рдореЗрдВ рд░рдЦрд╛ рдерд╛, рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ рд╕рдореБрджрд╛рдп рдореЗрдВ рдмреНрд▓реВ рдмреБрдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрд┐рддрд╛рдм рдХреА рдкрд╣рд▓реА рдЫрдорд╛рд╣реА рдЗрд╡рд╛рдВрд╕ рд╕рд╛рдорд░рд┐рдХ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреА рд╣реИ (рдЖрдк рд╕рднреА рдЙрдиреНрд╣реЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ: рдпреЗ рдХрд╛рд░рдЦрд╛рдиреЗ, рд╕рдВрд╕реНрдерд╛рдПрдВ, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА, рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ), рдФрд░ рд▓реЛрдЧ рдЖрдорддреМрд░ рдкрд░ рджреВрд╕рд░реЗ рдЫрдорд╛рд╣реА рдореЗрдВ рдирд╣реАрдВ рдЖрддреЗ рд╣реИрдВред рдЖрджрдореА рджреЗрдЦрддрд╛ рд╣реИ: рд╕рдм рдХреБрдЫ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рдореИрдВ рдЬрд╛рддрд╛ рд╣реВрдВ рдФрд░ рдбреАрдбреАрдбреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВред

рджрд╛рдИрдВ рдУрд░ рдпрджрд┐ рдЖрдк рдХрдВрдкрд╛рдЗрд▓рд░ рдкрд░ рд╕рд╛рдорд░рд┐рдХ рдкреИрдЯрд░реНрди рдлреЗрдВрдХрддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред рд╡рд╛рдо - рдпрджрд┐ рдЖрдк рд░рдгрдиреАрддрд┐рдХ рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред



рдмреНрд▓реВ рдмреБрдХ рдХреЗ рд╡рд┐рдореЛрдЪрди рдХреЗ рдмрд╛рдж рд╕реЗ, рдмрд▓реНрдХрд┐ рдПрдХ рдордЬрдмреВрдд рдбреАрдбреАрдбреА рд╕рдореБрджрд╛рдп рдХрд╛ рдЧрдарди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрдИ рдЪреАрдЬреЛрдВ рдкрд░ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рдВ, рдФрд░ рдЗрд╡рд╛рдВрд╕ рдиреЗ рдЦреБрдж рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдХрд┐ рд╡рд╣ рдЕрдм рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд░рдгрдиреАрддрд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╣ рдЗрддрдиреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬ рдХреЛ рдХреИрд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдФрд░ 10 рд╕рд╛рд▓ рдмрд╛рдж, 2013 рдореЗрдВ, рд░реЗрдб рдмреБрдХ рдХреЛ рд╡реЙрди рд╡рд░реНрдиреЛрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдФрд░ рдЗрд╕ рдкреБрд╕реНрддрдХ рдореЗрдВ, рдкреНрд░рд╕реНрддреБрддрд┐рдХрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдпрд╣ рд░рдгрдиреАрддрд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдореВрд▓ рдмрд╛рддреЗрдВ рдХреЗ рд╕рд╛рдеред рдФрд░ рдЬрдм рдкрд╛рдардХ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдЖрдзрд╛рд░ рдорд┐рд▓рд╛ рд╣реИ, рддреЛ рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рдорд░рд┐рдХ рдкреИрдЯрд░реНрди рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддреЗ рд╣реИрдВред

рдЖрдорддреМрд░ рдкрд░ рдбреАрдбреАрдбреА рдкрд░ рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдореЗрдВ рд╡реЗ рдЗрд╡рд╛рдВрд╕ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреВрд░реЗ рдореИрдиреБрдЕрд▓ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдЙрдЪрд┐рдд рд╡рд┐рд╕рд░реНрдЬрди рдХреЗ рд▓рд┐рдП рдЕрдзреНрдпрд╛рдп рдкрдврд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдореИрдВ рдЗрд╕реЗ рдЖрд╕рд╛рди рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ: рд░реЗрдб рдмреБрдХ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЗрд╕реЗ рдкрдврд╝реЗрдВ, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдмреНрд▓реВ рдкрд░ рдЬрд╛рдПрдВред

рдФрд░ рдЪреВрдВрдХрд┐ рд░рдгрдиреАрддрд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдЗрддрдиреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╣реИ, рддреЛ рдЖрдЗрдП рдЗрд╕рдХреЗ рдкреНрд░рдореБрдЦ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

"рд░рдгрдиреАрддрд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░"


рдХрд┐рд╕реА рднреА рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕реНрд╡рдЪрд╛рд▓рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рд╣рдореЗрд╢рд╛ рдбреЛрдореЗрди рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реЛрддреЗ рд╣реИрдВред рдпреЗ рд╡реЗ рд▓реЛрдЧ рд╣реИрдВ рдЬреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ рд╡реНрдпрд╡рд╕рд╛рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдореЙрдбрд▓рд┐рдВрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдпреЗ рдЕрдЧреНрд░рдгреА рдбреЗрд╡рд▓рдкрд░реНрд╕, рдХрд╛рд░реНрдпрдХрд╛рд░реА, рд╢реАрд░реНрд╖ рдкреНрд░рдмрдВрдзрдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдХреЛрдИ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдХреЗрд╡рд▓ рд╡рд╣ рдЙрди рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдореЗрдВ рдирд┐рдкрдЯрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рджреВрд╕рд░реА рдУрд░, рддрдХрдиреАрдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реИрдВ: рдбреЗрд╡рд▓рдкрд░реНрд╕, рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдЬреЛ рд╕реАрдзреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЪрд┐рддреНрд░рд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдЧреНрд░рд╛рд╣рдХ рд╢рд╛рдпрдж рдмрдЪреНрдЪреЛрдВ рдХрд╛ рд░реЗрд▓рд╡реЗ рдЪрд╛рд╣рддреЗ рдереЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд░рд╛рдХреНрд╖рд╕ рдирд┐рдХрд▓рд╛ред

рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рдореЗрдВ рддрдХрдиреАрдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдФрд░ рдбреЛрдореЗрди рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЗ рдмреАрдЪ рдХреА рдмрд╛рддрдЪреАрдд рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ: рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдмрдбрд╝реА-рдмрдбрд╝реА рджреАрд╡рд╛рд░ рд╣реЛрддреА рд╣реИ, рдФрд░ рдПрдХ рдкреНрд░рдмрдВрдзрдХ рдЗрд╕ рджреАрд╡рд╛рд░ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдпрд╣ рд╕реБрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реЗ рджреАрд╡рд╛рд░ рдХреЗ рдПрдХ рддрд░рдл рдХреНрдпрд╛ рдЪрд┐рд▓реНрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╡рд╣ рдЗрд╕реЗ рд╕реНрдирд╛рдпреБрдмрдВрдзрди рдХреЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рд╕реЗ рдЪрд┐рд▓реНрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред рджреАрд╡рд╛рд░ рдХреЗ рджреВрд╕рд░реА рддрд░рдл, рдФрд░ рдЗрд╕реА рддрд░рд╣ рдПрдХ рд╕рд░реНрдХрд▓ рдореЗрдВред

рдХрднреА-рдХрднреА рдПрдХ рдкреНрд░рдмрдВрдзрдХ рдмрд╣рд░рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдРрд╕реЗ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреА рдПрдХ рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕рдлрд▓рддрд╛ рдореЗрдВ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣ рдХреИрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?



рдирд┐рд░рдВрддрд░ рдмрд╛рддрдЪреАрдд рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рддрдХрдиреАрдХреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ, рдбреЛрдореЗрди рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ - рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЛ рд╕рдВрдЪрд╛рд░ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛, рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛, рд▓рдХреНрд╖реНрдпреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛, рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ, рдФрд░ рд╣рдо рдпрд╣ рд╕рдм рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВред

рдФрд░ рдпрд╣рд╛рдБ рд╣рдо рд░рдгрдиреАрддрд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдбреЛрдореЗрди-рдЪрд╛рд▓рд┐рдд рдбрд┐рдЬрд╛рдЗрди рджреЛрдиреЛрдВ рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореБрдЦреНрдп рдмрд┐рдВрджреБ рд╣реИрдВред



рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреНрд░рддрд┐рднрд╛рдЧрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдбреЛрдореЗрди-рдбреНрд░рд┐рд╡реЗрди рдбрд┐рдЬрд╝рд╛рдЗрди рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рднрд╛рд╖рд╛ рдХреЛ рдХреНрдпрд╛ рдХрд╣рддрд╛ рд╣реИред рд╡рд╣ рдЗрд╕ рдорд╛рдпрдиреЗ рдореЗрдВ рдПрдХ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡рд╣ рд╕рднреА рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реИред рдареАрдХ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рдпрд╣ рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдПрдХрд▓ рд╣реИ рдХрд┐ рд╕рднреА рдкреНрд░рддрд┐рднрд╛рдЧреА рдЗрд╕рдореЗрдВ рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВ, рд╕рднреА рдЪрд░реНрдЪрд╛ рдХрд┐рд╕реА рдПрдХ рднрд╛рд╖рд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╕рднреА рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХрддрдо рд░реВрдк рд╕реЗ рдПрдХрд▓ рднрд╛рд╖рд╛ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдХрд┐ рдЯреАрдХреЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ рдФрд░ рдПрдХ рдХреЛрдб рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддреА рд╣реИред

рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкрд░рд┐рджреГрд╢реНрдп


рдЖрдЧреЗ рдХреА рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкрд░рд┐рджреГрд╢реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдЗрдП рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ:



JUG.ru рд╕рдореВрд╣ рдХреЗ рдирд┐рджреЗрд╢рдХ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрддреЗ рд╣реИрдВ рдФрд░ рдХрд╣рддреЗ рд╣реИрдВ: "рджреЛрд╕реНрддреЛрдВ, рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдкреНрд░рд╡рд╛рд╣ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рд▓реЛрдЧ, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рд╕рдм рдХреБрдЫ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддреНрдпрд╛рдЪрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ ... рдЪрд▓реЛ рд╕рдореНрдореЗрд▓рди рдХреА рддреИрдпрд╛рд░реА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред" рд╣рдо рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ: "рдареАрдХ рд╣реИ!" - рдФрд░ рдХрд╛рдо рдкрд░ рд▓рдЧ рдЬрд╛рдУред

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



рдпрд╣рд╛рдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдбреЛрдореЗрди рдореЙрдбрд▓ рд╣реИ: рд╕реНрдкреАрдХрд░ - рд╕реНрдкреАрдХрд░, рдЯреЙрдХ - рд░рд┐рдкреЛрд░реНрдЯ, рдЗрд╡реЗрдВрдЯ - рдЗрд╡реЗрдВрдЯред рд▓реЗрдХрд┐рди рдбреЛрдореЗрди рдореЙрдбрд▓ рдЕрд╕реАрдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рдХрд╡рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдзреБрдВрдзрд▓рд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдлреЛрдХрд╕ рдЦреЛ рджреЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдбреЛрдореЗрди рдореЙрдбрд▓ рдХреЛ рдХреБрдЫ рдХрд░рдХреЗ рд╕реАрдорд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЕрдЧрд▓рд╛ рдореБрдЦреНрдп рдмрд┐рдВрджреБ рд╣реИред



рдбреЛрдореЗрди рдореЙрдбрд▓ рдФрд░ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рднрд╛рд╖рд╛ рджреЛрдиреЛрдВ рдЙрд╕ рд╕рдВрджрд░реНрдн рд╕реЗ рд╕реАрдорд┐рдд рд╣реИрдВ рдЬреЛ рдбреЛрдореЗрди-рдбреНрд░рд┐рд╡реЗрди рдбрд┐рдЬрд╝рд╛рдЗрди рдмрд╛рдзреНрдп рд╕рдВрджрд░реНрдн рдХрд╣рддреЗ рд╣реИрдВред рд╡рд╣ рдбреЛрдореЗрди рдореЙрдбрд▓ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрд╕рдХреЗ рднреАрддрд░ рдХреА рд╕рднреА рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИрдВ, рдФрд░ рд╣рд░ рдХреЛрдИ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рджрд╛рдВрд╡ рдкрд░ рдХреНрдпрд╛ рд╣реИред

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



рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдбреЛрдореЗрди рдореЙрдбрд▓ рд╕рдореНрдореЗрд▓рди рдХреА рддреИрдпрд╛рд░реА рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╣реИ рдХрд┐ рд╣рдо "рдЗрд╡реЗрдВрдЯ рдкреНрд▓рд╛рдирд┐рдВрдЧ рд╕рдВрджрд░реНрдн" рдХрд╣реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рд╕реНрдкреАрдХрд░ рдХреЛ рдХреБрдЫ рдЬреЛрдбрд╝рдиреЗ, рдЬрд╛рдирдХрд╛рд░реА рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЙрд╕реЗ рдХреБрдЫ рдЕрдзрд┐рдХрд╛рд░ рджрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдФрд░ рд╕рдВрджрд░реНрдн рд╣реЛрдЧрд╛, "рдкрд╣рдЪрд╛рди рдХрд╛ рд╕рдВрджрд░реНрдн", рдЬрд┐рд╕рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЕрдкрдиреА рд╕рдВрд╕реНрдерд╛рдПрдВ рд╣реЛрдВрдЧреА: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рднреВрдорд┐рдХрд╛, рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓ред

рдФрд░ рджреЗрдЦреЛ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЪреАрдЬ рд╣реИред рдЬрдм рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдирдХрд╛рд░реА рджрд░реНрдЬ рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддрд╛ рд╣реИ, рддреЛ рд╢рд╛рд░реАрд░рд┐рдХ рд░реВрдк рд╕реЗ рдпрд╣ рдПрдХ рд╣реА рд╡реНрдпрдХреНрддрд┐ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рднрд┐рдиреНрди рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рдЙрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдерд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпреЗ рд╕рдВрд╕реНрдерд╛рдПрдВ рд╕реАрдзреЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред

рдпрджрд┐ рд╣рдордиреЗ рд▓рд┐рдпрд╛ рдФрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЕрдзреНрдпрдХреНрд╖ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛, рддреЛ рд╣рдо рдЙрди рдЪреАрдЬреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдПрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдорд┐рд╢реНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рддрд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдорд┐рд╢реНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдореЙрдбрд▓ рдЙрд╕ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд░реНрде рдкрд░ рдзреНрдпрд╛рди рдЦреЛ рджреЗрдЧрд╛ рдЬреЛ рдЙрд╕рдХреЗ рдкрд╛рд╕ рд╣реИ, рдЬрд┐рд╕реЗ рдХрдИ рд╕рдВрджрд░реНрднреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдбреЗрдореЛ: рдмрд┐рдХреНрд░реА рд╕реЗрд╡рд╛


рдЖрдЗрдП рд╢реБрд╖реНрдХ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реЗ рдереЛрдбрд╝рд╛ рд╣рдЯрдХрд░ рдХреЛрдб рджреЗрдЦреЗрдВред

рдПрдХ рд╕рдореНрдореЗрд▓рди рди рдХреЗрд╡рд▓ рд╕рд╛рдордЧреНрд░реА рдХреА рддреИрдпрд╛рд░реА рд╣реИ, рдмрд▓реНрдХрд┐ рдмрд┐рдХреНрд░реА рднреА рд╣реИред рдЖрдЗрдП рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЯрд┐рдХрдЯ рдмреЗрдЪрдиреЗ рдХреА рдПрдХ рд╕реЗрд╡рд╛ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦреА рдЬрд╛ рдЪреБрдХреА рд╣реИ, рдФрд░ рдПрдХ рдмрд┐рдХреНрд░реА рдкреНрд░рдмрдВрдзрдХ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрддрд╛ рд╣реИ рдФрд░ рдХрд╣рддрд╛ рд╣реИ: тАЬрджреЛрд╕реНрддреЛрдВ! рдПрдХ рдмрд╛рд░ рдЬрдм рдХрд┐рд╕реА рдиреЗ рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЛ рд▓рд┐рдЦрд╛, рддреЛ рдЗрд╕реЗ рд╕рдордЭ рд▓реЗрдВ, рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдирд┐рдпрдорд┐рдд рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЫреВрдЯ рдХреИрд╕реЗ рдорд╛рдиреА рдЬрд╛рддреА рд╣реИред "

рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд╕рд╛рде рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реЗрд╡рд╛ рдХрд╛ рдкреВрд░рд╛ рдкрд░рд┐рджреГрд╢реНрдп рдпрд╣ рд╣реИ: рдЪреЗрдХрдЖрдЙрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЕрдВрддрд┐рдо рдЯрд┐рдХрдЯ рдХреА рдХреАрдордд рдХреЛ рдирд┐рдпрдорд┐рдд рдЧреНрд░рд╛рд╣рдХ рдЫреВрдЯ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЖрджреЗрд╢ "рднреБрдЧрддрд╛рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛" рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдм рд╣рдо рдЬрд┐рд╕ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВрдЧреЗ, рдЙрд╕реЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рд╕рдорд╛рдзрд╛рди рдЦреЛрд▓реЗрдВ, рд╕рдВрд░рдЪрдирд╛ рдХреЛ рджреЗрдЦреЗрдВ:



рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рдХреЛрд░ рд╣реИ (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░, рд▓реЛрдЧ рдкрд░рддреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ), рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА ... рдЬрд╛рд╣рд┐рд░ рд╣реИ, рд╡реНрдпрдХреНрддрд┐ рдиреЗ рдЗрд╡рд╛рдВрд╕ рдХреЗ рдкрд╣рд▓реЗ рдЫрдорд╛рд╣реА рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХреА рдереАред

OpenCheckoutService рдЦреЛрд▓реЗрдВред рд╣рдо рд╡рд╣рд╛рдВ рдХреНрдпрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ? рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИ :

public void Checkout(long id) { var ord = _ordersRepository.GetOrder(id); var orders = _ordersRepository.GetOrders() .Count(o => o.CustomerId == ord.CustomerId && o.StateId == 3 && o.OrderDate >= DateTime.UtcNow.AddYears(-3)); ord.Price *= (100 - (orders >= 5 ? 30m : orders >= 3 ? 20m : orders >= 1 ? 10m : 0)) / 100; ord.StateId = 1; _ordersRepository.SaveOrder(ord); } 


рд╣рдо рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ: рдпрд╣рд╛рдВ рдореВрд▓реНрдп рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИред рд╣рдо рдЕрдкрдиреЗ рдмрд┐рдХреНрд░реА рдкреНрд░рдмрдВрдзрдХ рдХреЛ рдмреБрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдХрд╣рддреЗ рд╣реИрдВ: "рдпрд╣рд╛рдБ, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЫреВрдЯ рдХреЛ рдпрд╣рд╛рдБ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ":

 ord.Price *= (100 - (orders >= 5 ? 30m : orders >= 3 ? 20m : orders >= 1 ? 10m : 0)) / 100; 


рд╡рд╣ рдЕрдкрдиреЗ рдХрдВрдзреЗ рдкрд░ рджрд┐рдЦрддрд╛ рд╣реИ: тАЬрдУрд╣! рддреЛ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдмреНрд░реЗрдирдлреИрдХ рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ! рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рд▓реЛрдЧ C # рдореЗрдВ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВред

рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЗрд╕ рдХреЛрдб рдХреЗ рдбреЗрд╡рд▓рдкрд░ рдиреЗ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдФрд░ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдореЗрдВ рдЕрдЪреНрдЫреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреАред рдореИрдВрдиреЗ рд╕реНрдХреВрд▓ рдУрд▓рдВрдкрд┐рдпрд╛рдб рдореЗрдВ рдЙрд╕реА рд╢реИрд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред рдХреБрдЫ рд╕рдордп рдмрд╛рдж, рдкреНрд░рд╛рд░реВрдкрдг рдФрд░ рдЕрд╢реНрд▓реАрд▓ рд░реАрдлрд╝реИрдХреНрдЯрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рд▓реЙрдиреНрдЧ-рдкреАрдбрд╝рд┐рдд рд╕реЗрд▓реНрд╕ рдореИрдиреЗрдЬрд░ рдХреЛ рдХреНрдпрд╛ рдФрд░ рдХреНрдпрд╛ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддрд░реНрдХ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдкрд┐рдЫрд▓реЗ 3 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдСрд░реНрдбрд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╣реИ, рддреЛ рдЙрд╕реЗ 10% рдЫреВрдЯ рдорд┐рд▓рддреА рд╣реИ , рддреАрди рд╕реЗ рдХрдо рдирд╣реАрдВ - 20%, рдФрд░ рдкрд╛рдВрдЪ рд╕реЗ рдХрдо рдирд╣реАрдВ - 30%ред рд╡рд╣ рд╣рд░реНрд╖рд┐рдд рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ - рдЕрдм рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдм рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ рдмреЙрдм рдорд╛рд░реНрдЯрд┐рди рдХрд╛ рдХреНрд▓реАрди рдХреЛрдб рдкрдврд╝рд╛ рд╣реИред рд╡рд╣рд╛рдВ рд╡рд╣ рдмреЙрдп рд╕реНрдХрд╛рдЙрдЯ рдирд┐рдпрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рддреЗ рд╣реИрдВ: "рдкрд╛рд░реНрдХрд┐рдВрдЧ рдХреА рдЬрдЧрд╣ рдЬрдм рд╣рдо рдЫреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рд╡рд╣рд╛рдВ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕реЗ рд╕рд╛рдл рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред" рдЗрд╕рд▓рд┐рдП, рдЖрдЗрдП рдЗрд╕ рдХреЛрдб рдХреЛ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдпрд╣ рдорд╛рдирд╡ рджрд┐рдЦреЗ рдФрд░ рдЬреЛ рд╣рдордиреЗ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рдмрд╛рдд рдХреА рдФрд░ рдХреЛрдб рдореЗрдВ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдкрд░ рд░рд┐рдлрд▓реЗрдХреНрдЯреЗрдб рдХреЛрдб рд╣реИред

  public class DiscountCalculator { private readonly IOrdersRepository _ordersRepository; public DiscountCalculator(IOrdersRepository ordersRepository) { _ordersRepository = ordersRepository; } public decimal CalculateDiscountBy(long customerId) { var completedOrdersCount = _ordersRepository.GetLast3YearsCompletedOrdersCountFor(customerId); return DiscountBy(completedOrdersCount); } private decimal DiscountBy(int completedOrdersCount) { if (completedOrdersCount >= 5) return 30; if (completedOrdersCount >= 3) return 20; if (completedOrdersCount >= 1) return 10; return 0; } } 


рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рд╣рдо рдХрд░рддреЗ рд╣реИрдВ рд╡рд╣ рдбрд┐рд╕реНрдХрд╛рдЙрдВрдЯ рдХреИрд▓рдХреБрд▓реЗрд╢рди рдХреЛ рдПрдХ рдЕрд▓рдЧ рдбрд┐рд╕реНрдХрд╛рдЙрдВрдЯрдХреИрд▓рдХреБрд▓рд░ рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреИрд▓реНрдХреЗрдЯрдбреЗрд╕реНрдХрд╛рдЙрдВрдЯрдмрд╛рдп customerId рдореЗрдердб рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рдорд╛рдирд╡реАрдп рд░реВрдк рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ: рдХреНрдпрд╛, рдХреНрдпреЛрдВ рдФрд░ рдХреИрд╕реЗред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдЕрдВрджрд░, рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЫреВрдЯ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рджреЛ рдЪрд░рдг рд╣реИрдВред рдкрд╣рд▓рд╛: рд╣рдореЗрдВ рдСрд░реНрдбрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдХреБрдЫ рдорд┐рд▓рддрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдм рдХреБрдЫ, рдЖрдкрдХреЛ рдЕрдВрджрд░ рднреА рдирд╣реАрдВ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдпрд╣ рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдм рд░реБрдЪрд┐рдХрд░ рдирд╣реАрдВ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдХреБрдЫ рдкреВрд░реНрдг рдХрд┐рдП рдЧрдП рдЖрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдорд┐рд▓рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рддреБрд░рдВрдд рдЗрд╕ рдорд╛рддреНрд░рд╛ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдЫреВрдЯ рдХреЛ рджреВрд╕рд░реЗ рдЪрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВред

рдпрджрд┐ рд╣рдо рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдбрд┐рд╕реНрдХрд╛рдЙрдВрдЯрдмрд╛рдп рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣рд╛рдБ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рдмрд╛рдд рд▓рдЧрднрдЧ рдорд╛рдирд╡ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд▓рд┐рдЦреА рдЧрдИ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ "рджрд┐рдорд╛рдЧ рдХрд╛ рдкреНрд░рдХрд╛рд░" рдкрд╣рд▓реЗ рдерд╛, рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рдЯреАрдХ рд╣реИред

рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рд╡рд╛рд▓ рдЙрда рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЫреВрдЯ рдХрд┐рд╕ рдЗрдХрд╛рдИ рдореЗрдВ рдорд╛рдкреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдХреЗ рдирд╛рдо рдореЗрдВ "рдкреНрд░рддрд┐рд╢рдд" рд╢рдмреНрдж рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рдВрджрд░реНрдн рдФрд░ рд╢рд╛рдорд┐рд▓ рдЖрдВрдХрдбрд╝реЛрдВ рд╕реЗ, рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдпреЗ рдкреНрд░рддрд┐рд╢рдд рд╣реИрдВ, рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрджреЗрд╢реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреНрдпрд╛ рдереА, рддреЛ рд╣рдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛрдб рдореЗрдВ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рджреЗрдЦреЗрдВрдЧреЗред рдЕрдм рд╣рдо рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдореЗрдВ, рд╣рдореЗрдВ рдПрдХ рдирдпрд╛ рдбрд┐рд╕реНрдХрд╛рдЙрдВрдЯрдХрд▓реНрдХреБрд▓рд░ рдирд┐рд░реНрднрд░рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдЪреЗрдХрдЖрдЙрдЯ рд╡рд┐рдзрд┐ рдХреЗ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдХреНрдпрд╛ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ред

 public void CheckoutV2(long orderId) { var order = _ordersRepository.GetOrder(orderId); var discount = _discountCalculator.CalculateDiscountBy(order.CustomerId); order.ApplyDiscount(discount); order.State = OrderState.AwaitingPayment; _ordersRepository.SaveOrder(order); } 


рджреЗрдЦрд┐рдП, рдЪреЗрдХрдЖрдЙрдЯ рд╡рд┐рдзрд┐ рдСрд░реНрдбрд░ рдЖрдИ рдбреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рдлрд┐рд░ рдСрд░реНрдбрд░ рдЖрдИ рдбреА рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рдЗрд╕ рдСрд░реНрдбрд░ рдХреЗ рдХрд╕реНрдЯрдорд░ рдЖрдИ рдбреА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдбрд┐рд╕реНрдХрд╛рдЙрдВрдЯ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЫреВрдЯ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдСрд░реНрдбрд░ рдкрд░ рдЫреВрдЯ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдСрдЙрдЯрд┐рдВрдЧрдкрдореЗрдВрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдСрд░реНрдбрд░ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрд▓рд╛рдЗрдб рдореЗрдВ рд░реВрд╕реА рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдереА, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рд╣рдо рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред

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



рдпрд╣ рддреАрд╕рд░рд╛ рдореБрдЦреНрдп рдмрд┐рдВрджреБ рд╣реИред

рдбреЛрдореЗрди, рд╕рдмрдбреЛрдореЗрди, рдмрд╛рдЙрдВрдбреЗрдб рд╕рдВрджрд░реНрдн рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдореЗрдВ рдбреЛрдореЗрди-рдбреНрд░рд┐рд╡реЗрди рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рднреНрд░рдо рд╣реИ, рд╡реЗ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдХреБрдЫ рди рдХреБрдЫ рд╕реАрдорд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╕рднреА рдХрд┐рд╕реА рди рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдкрд░реЗрд╢рд╛рди рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ, рдХреНрдпреЛрдВ рд╡реЗ рдЗрддрдиреЗ рдЕрд▓рдЧ рд╣реИрдВред



рдбреЛрдореЗрди рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪреАрдЬ рд╣реИ, рдпрд╣ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд╡реНрдпрд╡рд╕рд╛рдп рдкреИрд╕рд╛ рдХрдорд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, DotNext рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╕рдореНрдореЗрд▓рди рд╣реИ, Pyaterochka рдХреЗ рд▓рд┐рдП рдпрд╣ рдорд╛рд▓ рдХреА рдЦреБрджрд░рд╛ рдмрд┐рдХреНрд░реА рд╣реИред

рдмрдбрд╝реЗ рдирд┐рдЧрдореЛрдВ рдореЗрдВ рдХрдИ рдбреЛрдореЗрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдореЗрдЬрд╝реЕрди рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рд▓ рдХреА рдмрд┐рдХреНрд░реА рдФрд░ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдкреНрд░рд╛рд╡рдзрд╛рди рджреЛрдиреЛрдВ рдореЗрдВ рд▓рдЧреЗ рд╣реБрдП рд╣реИрдВ, рдпреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рд╣реИрдВред

рдлрд┐рд░ рднреА, рдпрд╣ рдХреБрдЫ рд╡реИрд╢реНрд╡рд┐рдХ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕реАрдзреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рднреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рдбреЛрдореЗрди рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЙрдк-рдбреЛрдореЗрди рдореЗрдВ, рдпрд╛рдиреА рдЙрдк-рдбреЛрдореЗрди рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИред



рдЙрдк-рдбреЛрдореЗрди рдПрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ, рдЬреЛ рд╣рдорд╛рд░реА рднрд╛рд╖рд╛ рдореЗрдВ, рдЕрддреНрдпрдзрд┐рдХ рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╡реЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд╛рд░реНрдХрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкреНрд░рдореБрдЦ рд╕реНрддрд░ рдкрд░ рдмрд╛рддрдЪреАрдд рдХрд░рддреА рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдСрд░реНрдбрд░ рдХрд╛ рдЧрдарди рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрдЧрд╛, рдпрд╣ рд╡рд┐рддрд░рдг рд╣реЛрдЧрд╛, рдпрд╣ рдЖрдкреВрд░реНрддрд┐рдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рд╣реИ, рдпрд╣ рд▓реЗрдЦрд╛рдВрдХрди рд╣реИред рдпрд╣рд╛рдБ рдЗрди рдЯреБрдХрдбрд╝реЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╣реИрдВ - рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рд╡реНрдпрд╛рдкрд╛рд░ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИред



DDD рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, Subdomains рдХреЛ рддреАрди рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рдореИрдВ рдПрдХ рдФрд░ рдмрд╛рдд рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдЕрдХреНрд╕рд░ рдХрд┐рддрд╛рдмреЛрдВ рдФрд░ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕рдмрдбреЛрдореЗрди рдХреЛ рдХреЗрд╡рд▓ рдбреЛрдореЗрди рдореЗрдВ рдШрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рдЗрд╕реЗ рдЙрдкрдбреЛрдореЗрди рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЬрдм рд╡реЗ "рдХреЛрд░ рдбреЛрдореЗрди" рдХрд╣рддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХрд╛ рдорддрд▓рдм рдХреЛрд░ рд╕рдмрдбреЛрдореЗрди рд╣реИ, рдХреГрдкрдпрд╛ рдЗрд╕рдореЗрдВ рднреНрд░рдорд┐рдд рди рд╣реЛрдВред рдЗрд╕рдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдХреЛ рдЙрдбрд╝рд╛ рджрд┐рдпрд╛ред

рдЙрдк рдбреЛрдореЗрди рдХреЛ рддреАрди рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рдкрд╣рд▓рд╛ рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреЛрд░ рд╣реИред рдХреЛрд░ рдореБрдЦреНрдп рдЙрдкрдбреЛрдореЗрди рд╣реИ, рдпрд╣ рдХрдВрдкрдиреА рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛рддреНрдордХ рд▓рд╛рдн рд╣реИ, рдЬреЛ рдЗрд╕ рдХрдВрдкрдиреА рдХреЛ рдкреИрд╕рд╛ рджреЗрддрд╛ рд╣реИ, рдпрд╣ рдЕрдкрдиреЗ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡рд┐рдпреЛрдВ рд╕реЗ рдХреИрд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдЗрд╕рдХрд╛ рдкрддрд╛ рд╣реИ, рдЬреЛ рднреА рдЖрдк рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдо рдбреЙрдЯрдиреЗрдЯ рд╕рдореНрдореЗрд▓рди рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рд╣реИред рдЖрдк рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдЖрдП рдереЗ, рдЕрдЧрд░ рдпрд╣рд╛рдВ рдРрд╕реА рдХреЛрдИ рд╕рд╛рдордЧреНрд░реА рдирд╣реАрдВ рдереА, рддреЛ рдЖрдк рджреВрд╕рд░реЗ рд╕рдореНрдореЗрд▓рди рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдПрдВрдЧреЗред рдЬрд┐рд╕ рд░реВрдк рдореЗрдВ рдпрд╣ рд╣реИ, рдЙрд╕рдореЗрдВ рдХреЛрдИ DotNext рдирд╣реАрдВ рд╣реЛрдЧрд╛ред



рджреВрд╕рд░рд╛ рдкреНрд░рдХрд╛рд░ рд╕рд╣рд╛рдпрдХ рдЙрдкрдбреЛрдореЗрди рд╣реИред рдпрд╣ рднреА рдкреИрд╕рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рд╣реИ, рдпрд╣ рднреА рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд▓рд╛рдн рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ Core Subdomain рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред Domain-Driven Design рд▓рдЧрд╛рдиреЗ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рд╣рд╛рдпрдХ рдЙрдкрдбреЛрдореЗрди рдкрд░ рдХрдо рдкреНрд░рдпрд╛рд╕ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕рднреА рдореБрдЦреНрдп рдмрд▓реЛрдВ рдХреЛ Core рдкрд░ рдлреЗрдВрдХ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЙрд╕реА DotNext рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдкрдгрди рд╣реИред рдпрд╣ рд╡рд┐рдкрдгрди рдХреЗ рдмрд┐рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдХреЛрдИ рднреА рд╕рдореНрдореЗрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рдкрдгрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред



рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЬреЗрдиреЗрд░рд┐рдХ рдЙрдкрдбреЛрдореЗрдиред рдЬреЗрдиреЗрд░рд┐рдХ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реНрдпрд╡рд╕рд╛рдп рдХрд╛рд░реНрдп рд╣реИ, рдЬреЛ рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рддреИрдпрд╛рд░ рдЙрддреНрдкрд╛рджреЛрдВ рдпрд╛ рдЖрдЙрдЯрд╕реЛрд░реНрд╕ рдХреЗ рд╕рд╛рде рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рддрдВрддреНрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ, рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рддреГрддреАрдп-рдкрдХреНрд╖ рдЙрддреНрдкрд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ред

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



рдФрд░ рдЕрдВрдд рдореЗрдВ, рдмрдВрдзреЗ рд╣реБрдП рд╕рдВрджрд░реНрднред рдмрджреНрдз рдкреНрд░рд╕рдВрдЧ рдФрд░ рдЙрдкрдбреЛрдореЗрди рд╣рдореЗрд╢рд╛ рдкрд╛рд╕ рдореЗрдВ рд╣реА рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред



StackExchange рдкрд░ рдПрдХ рдкреНрд░рд╢реНрди рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдЙрдкрдмрдВрдзрд┐рдд рд╕рдВрджрд░реНрдн рдЙрдкрдбреЛрдореЗрди рд╕реЗ рднрд┐рдиреНрди рд╣реИред рдЙрдкрдбреЛрдореЗрди рд╡реНрдпрд╛рдкрд╛рд░ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд╣реИ, рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрдпрд╛рди рд╕реНрдерд╛рди рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред рдмрд╛рдЙрдВрдбреЗрдб рд╕рдВрджрд░реНрдн рдбреЛрдореЗрди рдореЙрдбрд▓ рдФрд░ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рднрд╛рд╖рд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдореЙрдбрд▓рд┐рдВрдЧ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреНрдпрд╛ рд╣реИ, рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдмрд╛рдЙрдВрдбреЗрдб рд╕рдВрджрд░реНрдн рдПрдХ рд╕рдорд╛рдзрд╛рди рд╕реНрдерд╛рди рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЙрдк-рдбреЛрдореЗрди рдХреА рдПрдХ рддрд░рд╣ рдХреА рдореИрдкрд┐рдВрдЧ рдмрдВрдзреЗ рд╣реБрдП рд╕рдВрджрд░реНрднреЛрдВ рдкрд░ рд╣реЛрддреА рд╣реИред



рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рдЙрджрд╛рд╣рд░рдг: рд╕рдмрдбреЛрдореЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╣реАрдЦрд╛рддрд╛ рдкрджреНрдзрддрд┐, рдХреИрд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 1 рд╕реА рдмрд╣реАрдЦрд╛рддрд╛ рдкрджреНрдзрддрд┐, рдПрд▓реНрдмрд╛ рдпрд╛ "рдореЗрд░рд╛ рд╡реНрдпрд╡рд╕рд╛рдп" - рдХрд┐рд╕реА рди рдХрд┐рд╕реА рдЙрддреНрдкрд╛рдж рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реИред рдпрд╣ рд▓реЗрдЦрд╛рдВрдХрди рдХрд╛ рдмрд╛рдзреНрдп рд╕рдВрджрд░реНрдн рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕рдХреА рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рднрд╛рд╖рд╛ рд╣реИ, рдЗрд╕рдХреА рдЕрдкрдиреА рд╢рдмреНрджрд╛рд╡рд▓реА рд╣реИред рдпрд╣реА рдЙрдирдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рд╣реИ



рдпрджрд┐ рд╣рдо DotNext рдкрд░ рд▓реМрдЯрддреЗ рд╣реИрдВ, рддреЛ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рдЯрд┐рдХрдЯ рдЯрд╛рдЗрдордкреИрдб рдХреЗ рд▓рд┐рдП рдореИрдк рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдФрд░ рдЬреЛ рд╕рд╛рдордЧреНрд░реА рд╣рдорд╛рд░реЗ рдХреЛрд░ рд╕рдмрдбреЛрдореЗрди рд╣реИ рдЙрд╕реЗ рдПрдХ рдХрд╕реНрдЯрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╕рд╛рдордЧреНрд░реА рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдмрджреНрдз рд╕рдВрджрд░реНрдн рдЖрдХрд╛рд░


рдПрдХ рдкрд▓ рд╣реИ рдЬреЛ рдХрдИ рд╕рд╡рд╛рд▓ рдЙрдард╛рддрд╛ рд╣реИред рдмрдВрдзреЗ рд╣реБрдП рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЖрдХрд╛рд░ рдХреИрд╕реЗ рдЪреБрдиреЗрдВ? рдкреБрд╕реНрддрдХреЛрдВ рдореЗрдВ, рдХреЛрдИ рднреА рдРрд╕реА рдкрд░рд┐рднрд╛рд╖рд╛ рдкрд╛ рд╕рдХрддрд╛ рд╣реИ: "рдмрджреНрдз рд╕рдВрджрд░реНрдн рдмрд┐рд▓реНрдХреБрд▓ рдРрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рднрд╛рд╖рд╛ рдкреВрд░реНрдг, рд╕реБрд╕рдВрдЧрдд, рдЕрд╕рдВрджрд┐рдЧреНрдз, рдЕрд╕рдВрджрд┐рдЧреНрдз, рд╕реБрд╕рдВрдЧрдд рд╣реЛред" рд╢рд╛рдВрдд рдкрд░рд┐рднрд╛рд╖рд╛, рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдордЬрд╛рдХ рд╕реЗ рдПрдХ рдЧрдгрд┐рддрдЬреНрдЮ рдХреА рд╢реИрд▓реА рдореЗрдВ: рдмрд╣реБрдд рд╕рдЯреАрдХ, рд▓реЗрдХрд┐рди рдмреЗрдХрд╛рд░ред

рдЖрдЗрдП рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВ рдХрд┐ рд╣рдо рд╕рднреА рдХреЛ рдПрдХ рд╕рдорд╛рди рдХреИрд╕реЗ рд╕рдордЭрддреЗ рд╣реИрдВ: рдХреНрдпрд╛ рдпрд╣ рдПрдХ рд╕рдорд╛рдзрд╛рди, рдпрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛, рдпрд╛ рдирд╛рдо рд╕реНрдерд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдХреМрди рд╕рд╛ рдкреИрдорд╛рдиреЗ рдмрдВрдзреЗ рд╣реБрдП рд╕рдВрджрд░реНрдн рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?



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

рдХреНрдпреЛрдВрдХрд┐, рдПрдХ рддрд░рдл, рд╕рдмрдбреЛрдореЗрди рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХрдИ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпрд╛ рд╕реЗрд╡рд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рдмрдВрдзреЗ рд╣реБрдП рд╕рдВрджрд░реНрдн рдПрдХ рдЙрдкрдбреЛрдореЗрди рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИрдВред

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

рдЬрдм microservice рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдлреИрд╢рдиреЗрдмрд▓ рд╣реЛ рдЧрдИ, рддреЛ рдПрдХ рдФрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢ рджрд┐рдЦрд╛рдИ рджреА (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ): рдкреНрд░рддрд┐ microservice рдПрдХ рдмрд╛рдЙрдВрдбреЗрдб рд╕рдВрджрд░реНрдн ред рдлрд┐рд░, рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд▓рдЧрддрд╛ рд╣реИ, рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕ рдХреЛ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рд▓реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдЪреНрдЪ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рд╣реИ, рдФрд░ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рддрд░рд╣ рдХреА рдмрд╛рддрдЪреАрдд рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрдЪрд╛рд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдорд╛рдЗрдХреНрд░реЛрд╕реИрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреЛ рдЕрдкрдиреЗ рд▓рд┐рдП рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреЛ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ Domain-Driven Design рдмрд╣реБрдд рд╣реИ: рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рдФрд░ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЗрд╡рд▓ рддрдХрдиреАрдХреА рдорд╛рдкрджрдВрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рдпрд╣ рд▓рд┐рдЦрд╛ рд╣реИ: рдПрдХ рд╕рдВрджрд░реНрдн рдПрдХреНрд╕-рдореИрди рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рдерд╛ рдХрд┐ x 10 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЗрдЧреЛрд░ рд▓рд╛рдмреБрдЯрд┐рди ( twitter.com/ilabutin ) рдХреЗ рд╕рд╛рде рдереЛрдбрд╝реА рдмрд╛рдд рдХреА рдФрд░ рд╕рд╡рд╛рд▓ рдЦреБрд▓рд╛ред

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

рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЗрд╕ рдПрдХрд▓ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рддрджрдиреБрд╕рд╛рд░, рд╕реНрд╡рдЪрд╛рд▓рди рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВ, рд╕реАрдорд┐рдд рд╣реИред рдХрд┐рддрд╛рдмреЗрдВ рдХреБрдЫ рд░рд╛рдЬрдиреАрддрд┐рдХ рдХрд╛рд░рдгреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░рддреА рд╣реИрдВ: рдпрджрд┐ рджреЛ рдЯреАрдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдХреЗ рдиреЗрддреГрддреНрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ рдФрд░ рдПрдХ рд╣реА рдмрдВрдзреЗ рд╣реБрдП рд╕рдВрджрд░реНрдн рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИрдВ, рдФрд░ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдпреЗ рдкреНрд░рдмрдВрдзрдХ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рджреЛрд╕реНрдд рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╕рдВрдШрд░реНрд╖ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдзреНрдпрд╛рди рдЦреЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рджреЛ рдмрдВрдзреЗ рд╣реБрдП рд╕рдВрджрд░реНрдн рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рдФрд░ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реЛрдЧрд╛ рдФрд░ рдЬреЛ рд╕рдВрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ, рдЙрд╕реЗ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рди рдХрд░реЗрдВред

рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди


Domain-Driven Design рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЛ рдЪреБрдирддреЗ рд╣реИрдВред Domain-Driven Design рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ; Domain-Driven Design рднрд╛рд╖рд╛ рдФрд░ рд╕рдВрдЪрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред



рд▓реЗрдХрд┐рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБ рд╣реИ, рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирджрдВрдб рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЬреЛ рд╣рдореЗрдВ рдбреЛрдореЗрди-рдбреНрд░рд┐рд╡реЗрди рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд▓реЗрддрд╛ рд╣реИ: рд╣рдорд╛рд░рд╛ рд▓рдХреНрд╖реНрдп рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдХреЛ рдЕрдзрд┐рдХрддрдо рд░реВрдк рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рджреЗрдирд╛ рд╣реИ ред рдХреНрдпреЛрдВрдХрд┐, рдЬреИрд╕реЗ рд╣реА рддреГрддреАрдп-рдкрдХреНрд╖ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ, рд╢рдмреНрджрд╛рд╡рд▓реА рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ, рдРрд╕реЗ рд╢рдмреНрдж рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдЬреЛ рдХрд┐рд╕реА рдПрдХ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рддрд░реНрдХ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред



рдЖрдЗрдП рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рдХреЛ рджреЗрдЦреЗрдВ: рдкреНрд░рд╕рд┐рджреНрдз рддреАрди-рдкрд░рдд рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ред рдЬреИрд╕реЗ рд╣реА рд╡реЗ рдПрдХ рдбреЛрдореЗрди рд▓реЗрдпрд░ (рдпрд╣рд╛рдБ рдмрд┐рдЬрд╝рдиреЗрд╕ рд▓реЗрдпрд░) рдХрд╣рддреЗ рд╣реИрдВ: рд╡реНрдпрд╡рд╕рд╛рдп, рдХреЛрд░ рдФрд░ рдбреЛрдореЗрди рд╕рднреА рд╕рдорд╛рди рд╣реИрдВред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╡рд╣ рдкрд░рдд рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡реНрдпрд╛рдкрд╛рд░рд┐рдХ рддрд░реНрдХ рд╕реНрдерд┐рдд рд╣реИ, рдФрд░ рдпрджрд┐ рдпрд╣ рдбреЗрдЯрд╛ рдкрд░рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдкрд░рдд рд╕реЗ рдХреБрдЫ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдВ рдХрд┐рд╕реА рддрд░рд╣ рдбреЛрдореЗрди рдкрд░рдд рдореЗрдВ рдкреНрд░рд╡рд╛рд╣рд┐рдд рд╣реЛрдВрдЧреА рдФрд░ рдЗрд╕реЗ рдХреВрдбрд╝реЗрдЧреАред



рдЪрд╛рд░-рдкрд░рдд рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рдорд╛рди рд╣реИ, рдбреЛрдореЗрди рдкрд░рдд рдЕрднреА рднреА рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рддреАрд╕рд░реЗ рдкрдХреНрд╖, рдЕрдирд╛рд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рдмрдирд╛рдПрдВрдЧреАред



рдФрд░ рдЗрд╕ рдЕрд░реНрде рдореЗрдВ, рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рд╣реИ рдЬреЛ рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ - рдпрд╣ рдкреНрдпрд╛рдЬ-рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ ("рдкреНрдпрд╛рдЬ") рд╣реИред рдЗрд╕рдХрд╛ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рд╕рдВрдХреЗрдВрджреНрд░рд┐рдд рдкрд░рддреЗрдВ рд╣реЛрддреА рд╣реИрдВ, рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рдмрд╛рд╣рд░ рд╕реЗ рдХреЗрдВрджреНрд░ рддрдХ рдЬрд╛рддреА рд╣реИрдВред рдЕрд░реНрдерд╛рддреН, рдмрд╛рд╣рд░реА рдкрд░рдд рдХрд┐рд╕реА рднреА рдЖрдВрддрд░рд┐рдХ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░ рд╕рдХрддреА рд╣реИ, рдЖрдВрддрд░рд┐рдХ рдкрд░рдд рдмрд╛рд╣рд░реА рд▓реЛрдЧреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИред

рд╕рдмрд╕реЗ рдмрд╛рд╣рд░реА рдкрд░рдд рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЕрд░реНрдереЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ (рдЕрд░реНрдерд╛рдд, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдПрдХ рдорд╛рдирд╡ рдпреВрдЖрдИ рдирд╣реАрдВ рд╣реИ, рдпрд╣ REST API рдпрд╛ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛, рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рднреА I / O рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рд╡рд╣реА рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рдбреЗрдЯрд╛ рд▓реЗрдпрд░ред рдпреЗ рд╕рднреА рдЪреАрдЬреЗрдВ рдмрд╛рд╣рд░реА рдкрд░рдд рдореЗрдВ рд╣реИрдВред рдпрд╣реА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд┐рд╕реА рддрд░рд╣ рдХреБрдЫ рдбреЗрдЯрд╛, рдХрдорд╛рдВрдб, рдФрд░ рдЗрд╕реА рддрд░рд╣ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдбреЛрдореЗрди рдкрд░рдд рдХреЛ рдЗрди рдЪреАрдЬреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд╛рдж рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░рдд рдЖрддреА рд╣реИ - рдПрдХ рд╕рдордЧреНрд░ рд╡рд┐рд╖рдп, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣ рдкрд░рдд рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╛рдорд▓реЗ рд╕реНрдерд┐рдд рд╣реИрдВред рдпрд╣ рдкрд░рдд рдЕрдкрдиреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЛрдореЗрди рдкрд░рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред

рдХреЗрдВрджреНрд░ рдореЗрдВ рдбреЛрдореЗрди рдкрд░рдд рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ, рд╡рд╣ рдЕрдм рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд╡рд╣ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдПрдХ рдЪреАрдЬ рдмрди рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдбреЛрдореЗрди рдкрд░рдд рдХреЛ рдЕрдХреНрд╕рд░ "рдХреЛрд░" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЛрд░ рд╣реИ, рдЬреЛ рдХрд┐ рдХреЗрдВрджреНрд░ рдореЗрдВ рд╣реИ, рдЬреЛ рдХрд┐ рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреА рдЪреАрдЬреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред



рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреНрдпрд╛рдЬ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЗрдХреНрд╕рд╛рдЧреЛрдирд▓ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛, рдпрд╛ "рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдФрд░ рдПрдбреЗрдкреНрдЯрд░" рд╣реИред рдореИрдВ рдЗрд╕ рддрд╕реНрд╡реАрд░ рдХреЛ рдбрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд╛рдпрд╛ рдерд╛, рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ред рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ рдЗрд╕ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд▓рд╛рдЦ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рдХрдбрд╝реА рд╣реИ, рдЖрдк рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рд╛рдорд░рд┐рдХ рдкреИрдЯрд░реНрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рд╕рд╛: рдЕрд▓рдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕


рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд╛рдорд░рд┐рдХ рдкреИрдЯрд░реНрди рд╕рднреА рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдореЗрд░реА рд░рд┐рдкреЛрд░реНрдЯ рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рд╕рд╛рд░ рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрд▓рдЧ рд╕реЗ рдЕрд▓рдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреИрдЯрд░реНрди рдкрд╕рдВрдж рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд▓рдЧ рд╕реЗ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред

рдЖрдЗрдП рдЕрдкрдиреЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЗрд╡рд╛ рдХреЗ рдХреЛрдб рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣реБрдЖред



рдбреЛрдореЗрди рдкрд░рдд рдореЗрдВ IOrdersRepository.cs рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдФрд░ рдЗрд╕рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, OrdersRepository.cs рдереЗред

 using System.Linq; namespace DotNext.Sales.Core { public interface IOrdersRepository { Order GetOrder(long id); void SaveOrder(Order order); IQueryable<Order> GetOrders(); #region V2 int GetLast3YearsCompletedOrdersCountFor(long customerId); #endregion } } 


рдпрд╣рд╛рдВ рд╣рдордиреЗ рдкрд┐рдЫрд▓реЗ рддреАрди рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝ рджреА рд╣реИ GetLast3YearsCompletedOrdersCountForред

рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрдХрд╛рдИ рдврд╛рдВрдЪреЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ):

  public int GetLast3YearsCompletedOrdersCountFor(long customerId) { var threeYearsAgo = DateTime.UtcNow.AddYears(-3); return _dbContext.Orders .Count(o => o.CustomerId == customerId && o.State == OrderState.Completed && o.OrderDate >= threeYearsAgo); } 


рджреЗрдЦрд┐рдП рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рд╣реИред рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдбреЛрдореЗрди рд▓реЗрдпрд░ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ, рдбреЛрдореЗрди рд▓реЗрдпрд░ рдореЗрдВ рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рд▓реЗрдХрд┐рди DateTime.UtcNow.AddYears (-3) рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб, рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдбреЛрдореЗрди рд▓реЗрдпрд░ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИред рд╣рд╛рдВ, LINQ рдЗрд╕реЗ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рдорд╛рдирд╡реАрдп рдмрдирд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ SQL рдХреНрд╡реЗрд░реАрдЬрд╝ рдереАрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рджреБрдЦреА рд╣реЛрдЧрд╛ред

рд╕реЗрдкрд░реЗрдЯреЗрдб рдЗрдВрдЯрд░рдлреЗрд╕ рдкреИрдЯрд░реНрди рдХрд╛ рдЕрд░реНрде рдпрд╣ рд╣реИ рдХрд┐ рдбреЛрдореЗрди рд▓реЙрдЬрд┐рдХ рдореЗрдВ рд╣рдо рдЬрд┐рд╕ рд╕рд░реНрд╡рд┐рд╕ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╣ рдбреЛрдореЗрди рд▓реЗрдпрд░ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЗрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рд╡рд┐рд╡рд░рдг рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИред рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдЗрди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХрд╛ рддрдереНрдп рд╣реИ рдФрд░ рдбреЛрдореЗрди рдкрд░рдд рдореЗрдВ рдЙрдирдХреЗ рдХреЙрд▓рд┐рдВрдЧ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд╛ рддрдереНрдп рд╣реИред рдЗрд╕рд▓рд┐рдП, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбреЛрдореЗрди рдкрд░рдд рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ, рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреА рдкрд░рдд рдкрд░ рдЪрд▓рддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ред рдХреЛрд░ рдЕрд╕реЗрдВрдмрд▓реА рдореЗрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди Infrastructure.EF рдкрд░ рдЪрд▓рддрд╛ рд╣реИред



рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдо рдЙрди рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд▓реЗ рдЖрдП рдЬреЛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рдбреЛрдореЗрди рдкрд░рдд рдХреЗ рд▓рд┐рдП рдЕрдЬреАрдм рдирд╣реАрдВ рдереЗред рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдЗрд╕ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдХреБрдЫ рдЕрдиреНрдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдирд╣реАрдВ рд╣реИ, рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдпрд╣ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛, рддреГрддреАрдп-рдкрдХреНрд╖ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдбреЛрдореЗрди рддрд░реНрдХ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред

рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдЪрд▓реЛ рдлрд┐рд░ рд╕реЗ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╕реЗ, рдФрд░ рдлрд┐рд░ рд╕реЗ рднрд╛рд╖рд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред

рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдордиреЗ рдбреЛрдореЗрди рдореЙрдбрд▓ "рд╕реНрдкреАрдХрд░ - рдЯреЙрдХ - рдЗрд╡реЗрдВрдЯ" рдмрдирд╛рдпрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рд╕рд╡рд╛рд▓ рдирд╣реАрдВ рдЙрдард╛рдпрд╛ рд╣реИред

рдФрд░ рдпрд╣рд╛рдБ рдкрд░рд┐рджреГрд╢реНрдп рд╣реИ рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдордиреЗ рдпрд╣ рдбреЛрдореЗрди рдореЙрдбрд▓ рдмрдирд╛рдпрд╛ рдерд╛:



рджреЗрдЦреЗрдВ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд░реВрд╕реА рдореЗрдВ рд╣реИ, рдФрд░ рдбреЛрдореЗрди рдореЙрдбрд▓ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд╣реИред

рдЧреИрд░-рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рд▓рдЧрд╛рддрд╛рд░ рд╕рд╛рде рд░рд╣рдирд╛ рд╣реЛрдЧрд╛ред



рдЖрдк рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рд▓рдЧрд╛рддрд╛рд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХрд░рддрд╛ рд╣реИ: рд░реВрд╕реА рд╕реЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрддред рдЕрдВрдЧреНрд░реЗрдЬреА рдмреЛрд▓рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд╣реИрдВ, рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд░реНрдЪрд╛, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд╣реИрдВ, рдХреЛрдб рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд╣реИ, рдФрд░ рд░реВрд╕реА рдореЗрдВ рдЯреАрдо рдХреЗ рднреАрддрд░ рдХреЗрд╡рд▓ рд╕рдВрдЪрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЬрд▓реНрджреА рд╕реЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдмрдврд╝рддрд╛ рд╣реИ (рдЧреНрд░рд╛рд╣рдХ - рдЧреНрд░рд╛рд╣рдХ, рдЖрджреЗрд╢ - рдЖрджреЗрд╢)ред рдФрд░ рд╡рд╣ рд╕рдВрдЬреНрдЮрд╛рдирд╛рддреНрдордХ рднрд╛рд░, рд╡рд╣ рдУрд╡рд░рд╣реЗрдб, рдЬреЛ рдПрдХ рдирд┐рд░рдВрддрд░ рдЕрдиреБрд╡рд╛рдж рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕реБрдирд╛рдИ рджреЗрддрд╛ рд╣реИред

, , , . , .

1, . , тАФ , , .



1. PascalCase , , , , , , , - - .

, - ?



, use case, , . , . C#, , , . , , , .

, , Domain-Driven Design. , , , , C# . .

, - Continuous Integration. , , , - - . , - , , . , 95% , , Continuous Integration, , TeamCity . .

, . . , 1-, , . ┬л┬╗ , . , , .



, Domain-Driven Design.

тАФ , . Domain-Driven Design тАФ , . тАФ , , ubiquitous language. , , . , , , .

. , . - , , , , , , , , , , тАФ . .

. . . . , , . DSL-. .NET-, - , , , , . , .

, - . , , ubiquitous language -. .



, , GitHub .

DotNext:
, ┬л , ┬╗. DotNext ( 15-16 ) . , 1 , .

Source: https://habr.com/ru/post/hi440772/


All Articles