
ูู
ุงุฐุง ุนุงุฏุฉ ู
ุง ูุชู
ุชูุงูู DDDs ู
ู ุงูุฌุงูุจ ุงูุฎุทุฃุ ูุฃู ุฌุงูุจ ุชุฑูุฏุ ู
ุง ุนูุงูุฉ ุงูุฒุฑุงูุงุช ูุงูุฎูุฏู
ุงุช ู
ุน ูู ูุฐุงุ
ุฎุงุตุฉ ุจุงููุณุจุฉ ูู Habr - ูุณุฎุฉ ูุตูุฉ ู
ู ุงูุชูุฑูุฑ "ุงูุชุตู
ูู
ุงููุงุฆู
ุนูู ุงูู
ุฌุงู: ูุตูุฉ ููุจุฑุงุบู
ุงุชู". ุชู
ุฅุนุฏุงุฏ ุงูุชูุฑูุฑ ูู ู
ุคุชู
ุฑ DotNext .NET ุ ูููู ูู
ูู ุฃู ูููู ู
ููุฏูุง ููุณ ููุท ููู
ุงูุญูู ุ ูููู ุฃูุถูุง ููู ู
ู ููุชู
ุจู DDD (ูุนุชูุฏ ุฃููู
ุณูู ุชุชูููู ุจุถุนุฉ ุฃู
ุซูุฉ ู
ู ุฑู
ูุฒ C #). ูู
ุง ูุชู
ุฅุฑูุงู ุชุณุฌูู ููุฏูู ููุชูุฑูุฑ.
ู
ุฑุญุจุงู ุจุงูุฌู
ูุน ุ ุงุณู
ู ุฃูููุณู ู
ูุฑุณูู. ุณุฃุฎุจุฑู ู
ุง ูู ุงูุชุตู
ูู
ุงูุฐู ูุญุฑูู ุงููุทุงู ูู
ุง ูู ุฌููุฑู ุ ูููู ุฃููุงู ุ ุฏุนููุง ูุชุนุฑู ุนูู ุณุจุจ ุงูุญุงุฌุฉ ุฅููู ุนูู ุงูุฅุทูุงู.

ูุงู ู
ุงุฑุชู ูุงููุฑ: "ููุงู ุงููููู ู
ู ุงูุฃุดูุงุก ุงูุฃูู ู
ูุทููุฉ ู
ู ู
ูุทู ุงูุฃุนู
ุงู". ุงูุฒุฑุงูุฉ ูู ุจุงูุชุฃููุฏ ูุงุญุฏุฉ ู
ู ูุฐู ุงูููููุฉ. ุงูู
ุณุงูุฉ ุจูู ุงูุฏู
ุงุบ ูุงูุญูุฌุฑุฉ ู
ู ุงูุฒุฑุงูุฉ ููุณุช ุณูู ุจุถุนุฉ ุณูุชูู
ุชุฑุงุช. ูู
ุน ุฐูู ุ ูุฅู ุงูุนุตุจ ุงูุฐู ูุฑุจุทูู
ูุตู ุฅูู 4 ุฃู
ุชุงุฑ. ุฃููุงู ุ ูู ูุณูุฑ ุนุจุฑ ุงูุฑูุจุฉ ุจุฃูู
ููุง ุ ูููุงู ูุฏูุฑ ุญูู ุงูุดุฑูุงู ุซู
ูุนูุฏ ุจููุณ ุงูุทุฑููุฉ ุชูุฑูุจูุง.
ูููููุฉ ุงูุฃููู ุ ููุณ ููุงู ู
ูุทู ุญููุง. ูููู ูุฐุง ู
ุฌุฑุฏ ุชุฑุงุซ ูุซูู ุชุฑูุชู ุงูุฃุณู
ุงู ุงููุฏูู
ุฉ. ูู ุงูุฃุณู
ุงู ุ ูู
ุง ุชุนูู
ูู ุ ูุง ุชูุฌุฏ ุฑูุจุฉ ุ ูุฐุง ูุฅู ูุฐุง ุงูุนุตุจ ูู
ุชุฏ ุนูู ุทูู ุงูู
ุณุงุฑ ุงูุฃู
ุซู. ูุนูุฏู
ุง ุธูุฑุช ุงูุซุฏููุงุช ุจุนุฏ ุนุฏุฉ ู
ูุงููู ู
ู ุณููุงุช ุฅุนุงุฏุฉ ุงูุจูุงุก ุ ูุงู ูุง ุจุฏ ู
ู ุชู
ุฏูุฏ ุงูุนุตุจ ููุญูุงุธ ุนูู ุงูุชูุงูู ู
ุน ุงูู
ุงุถู. ุญุณูุง ุ ูุง ุฅุนุงุฏุฉ ุชุดููููุง ุจุณุจุจ ุจุนุถ ุงูุฒุฑุงูุฉุ
ููู ุงูุฒุฑุงูุฉ ุนูู ู
ุง ูุฑุงู
ุ ูุฃู ููุงู ุฎูุฏ ุงูู
ุงุก.

ุฃุนุชูุฏ ุฃูู ุงูุชูู. ุงูุซุฏููุงุช ู
ุน ู
ููุงุฑ. ูุนูุด ุจุดูู ุฑุฆูุณู ูู ุงูู
ุงุก. ูุถุน ุงูุจูุถ. ูุฅูู ุฌุงูุจ ุฐูู ุ ุงูุณุงู
ุฉ. ูุฏ ูุจุฏู ุฃู ุงูุชูุณูุฑ ุงูู
ูุทูู ุงููุญูุฏ ููุฌูุฏู ูู ุฃูู ู
ู ุฃุณุชุฑุงููุง.
ููููู ุฃุนุชูุฏ ุฃู ูู ุดูุก ุฃูุซุฑ ุนุงุฏููุง. ูุณู ุงูู
ูุงูู ุจุจุณุงุทุฉ ุงูุชุตู
ูู
ูุญูุธู ู
ุน StackOverflow ุ ุญุณูุงู ุ ุฃู ู
ุง ูุงู ู
ูุฌูุฏูุง ูู ุชูู ุงูุฃูุงู
.

ุฃุนูู
ู
ุง ุชููุฑ ููู ุงูุขู: "ุฃูููุณู ุ ููุฏ ูุนุฏุชู
ุจุชุตู
ูู
ูุญุฑูู ุงููุทุงู ุ ูููุง ููุน ู
ู" ุนุงูู
ุงูุญููุงู "!"
ุงูุฒู
ูุงุก ุ ู
ุง ูู ุงูุชูู
ูุฉุ ุงูุชูู
ูุฉ ูู ุนูุฏู
ุง ูุฃุฎุฐ ุฌุฒุกูุง ู
ู ุงูุนุงูู
ุงููุงูุนู ุ ููู ุนู
ููุฉ ุชุฌุงุฑูุฉ ุ ููุญูููุง ุฅูู ููุฏ ุ ุฃู ุจูุงุก ูู
ูุฐุฌ ุจุฑูุงู
ุฌ. ู
ุง ูู ุงูู
ุดุงูู ุงูุชู ุชูุชุธุฑูุง ุนูู ุทูู ุงูุทุฑููุ
ุงูุฃูู ูู ุชุนููุฏ ุงูุนู
ููุงุช ุงูุชุฌุงุฑูุฉ ููุณูุง ุ ุฃู ุตุนูุจุฉ ููู
ููููุฉ ุนู
ู ุงูุฃุนู
ุงู ุงูุชุฌุงุฑูุฉ ุ ูู
ุง ูู ุงูุนู
ููุงุช ุงูุชู ุชุฌุฑู ููุงู ุ ูุฃู ู
ูุทู ูุชู
ุจูุงุคู.
ุงูู
ุดููุฉ ุงูุซุงููุฉ ูู ุชูููุฐ ุนู
ููุงุช ุงูุฃุนู
ุงู ูุฐู ูู ุดูู ุชุนููู
ุงุช ุจุฑู
ุฌูุฉ ุ ูุงุณุชุฎุฏุงู
ุงูุฃูู
ุงุท ุงูุตุญูุญุฉ ุ ูุงูุฃุณุงููุจ ุงูุตุญูุญุฉ ุ ูู
ุง ุฅูู ุฐูู. ูุฐุง ูู ุฃูุถุง ู
ูุถูุน ู
ุนูุฏ ุฅูู ุญุฏ ู
ุง.

ุงูุธุฑ ุ ุงูุนู
ููุงุช ุงูุชุฌุงุฑูุฉ ุชุดุจู ุชูู ุงูุฒุฑุงูุฉ: ููุฏ ุจุฏุฃุช ุจุฃุจุณุท ุงูุนู
ููุงุช ุฃุญุงุฏูุฉ ุงูุฎููุฉ ุ ุซู
"ููุธุฑ ุฅูููุง" ุฅููู ุ ููุง ุฃุญุฏ ูููู
"ู
ู ุฃูู ุฃุชุช" ุฃู "ููู ุชุนู
ู".
ูุจูุงุก ูู
ูุฐุฌ ูุงุฌุญ ูู
ุซู ูุฐู ุงูุนู
ููุฉ ุ ูุฌุจ ุนููู ุฃููุงู ุงูุฅุฌุงุจุฉ ุนูู ุงูุณุคุงู "ูู
ุงุฐุงุ". ูู
ุงุฐุง ูุฑูุฏ ุจูุงุก ูุฐุง ุงููู
ูุฐุฌุ ู
ุง ูู ุงูุฃูุฏุงู ุงูุชู ูุฑูุฏ ุชุญููููุงุ ุจุนุฏ ูู ุดูุก ุ ุฅุฐุง ูุงู ุงูุนู
ูู ูุฑูุฏ ุฒุฑุงูุฉ ู
ุญุดูุฉ ุ ูููู ุญุตู ุนูู ุงูุดุฌุงุนุฉ ุ ูุณูู ููุฒุนุฌ ุ ุญุชู ูู ุชู
ุชูููุฐ ุงููุถู
ูู ูุฐุง ุงููู
ูุฐุฌ ู
ู ุฃุฌู ุงูุนูููู. ูุณูุฎุณุฑ ุงูุนู
ูู ููุณ ููุท ุงูู
ุงู ูุงูููุช ุ ูููู ุณูููุฏ ุซูุชูุง ุจูุง ูู
ุทูุฑูู ุ ูุณูู ูููุฏ ุณู
ุนุชูุง ูุนู
ูููุง.
ูููู ุญุชู ูู ุชูุตููุง ุฅูู ุงูุฃูุฏุงู ุ ูุฅู ูุฐุง ูุง ูุถู
ู ุฃููุง ูู ูุญุตู ุนูู ุฎูุฏ ุงูู
ุงุก ูุชูุฌุฉ ูุฐูู. ูุงูุญูููุฉ ูู ุฃู ุงููุฏู ูู ุงููููู ูููู
. ูุฌุจ ุฃู ูุชุญูู ุงููุฏู. ููุฐุง ูุณุงุนุฏูุง ุชุตู
ูู
ูุญุฑููุง ุงูู
ุฌุงู.

ูุชู
ุซู ุงููุฏู ุงูุฑุฆูุณู ููุชุตู
ูู
ุงูู
ุฏููุน ุจุงูู
ุฌุงู ูู ู
ูุงูุญุฉ ุงูุชุนููุฏ ูู ุงูุนู
ููุงุช ุงูุชุฌุงุฑูุฉ ูุงูุชุดุบูู ุงูุขูู ููุง ูุชุทุจูููุง ูู ุงูููุฏ. ูุชุฑุฌู
"ุงูู
ุฌุงู" ุฅูู "ุงูู
ุฌุงู" ุ ููุชู
ุฏูุน ุงูุชุทููุฑ ูุงูุชุตู
ูู
ูู ุฅุทุงุฑ ูุฐุง ุงูููุฌ ุจุนูุฏูุง ุนู ุงูู
ุฌุงู.
ุชุตู
ูู
ูุญุฑูู ุงูู
ุฌุงู ูุดู
ู ุฃุดูุงุก ูุซูุฑุฉ. ูุฐุง ุงูุชุตู
ูู
ุงูุงุณุชุฑุงุชูุฌู ุ ูุงูุชูุงุนู ุจูู ุงููุงุณ ุ ูู
ูุงูุฌ ุงูููุฏุณุฉ ุงูู
ุนู
ุงุฑูุฉ ุ ูุงูุฃูู
ุงุท ุงูุชูุชูููุฉ - ูุฐู ุชุฑุณุงูุฉ ูุงู
ูุฉ ุชุนู
ู ุญููุง ูุชุณุงุนุฏ ุญููุง ูู ุฅูุดุงุก ุงูู
ุดุงุฑูุน. ููุงู ูุงุญุฏ ููุท "ููู". ูุจู ุฃู ุชุจุฏุฃ ูู ุงูุชุนุงู
ู ู
ุน ุงูุชุนููุฏ ู
ุน ุงูุชุตู
ูู
ุงูุฐู ูุญุฑูู ุงููุทุงู ุ ูุฃูุช ุจุญุงุฌุฉ ุฅูู ู
ุนุฑูุฉ ููููุฉ ุงูุชุนุงู
ู ู
ุน ุชุนููุฏ ุงูุชุตู
ูู
ุงูุฐู ูุญุฑูู ุงููุทุงู ููุณู.

ุนูุฏู
ุง ูุจุฏุฃ ุงูุดุฎุต ูู ุงูุงูุบู
ุงุณ ูู ูุฐุง ุงูู
ูุถูุน ุ ุชุจุฑุฒ ุนููู ูู
ูุฉ ูุงุฆูุฉ ู
ู ุงูู
ุนููู
ุงุช: ุงููุชุจ ุงููุซููุฉ ุ ู
ุฌู
ูุนุฉ ู
ู ุงูู
ูุงูุงุช ุ ุงูุฃูู
ุงุท ุ ุงูุฃู
ุซูุฉ. ูู ูุฐุง ู
ุฑุจู ุ ูู
ู ุงูุณูู ุ ูู
ุง ูููููู ุ ุฃูุง ููุงุญุธูุง ูุฑุงุก ุฃุดุฌุงุฑ ุงูุบุงุจุฉ. ููุฏ ุดุนุฑุช ุจุฐูู ู
ู ูุจู ุฐุงุชู ุ ููููู ุงูููู
ุฃุฑูุฏ ุฃู ุฃุดุงุฑููู
ุชุฌุฑุจุชู ูู
ุณุงุนุฏุชู ูู ุงูุชุบูุจ ุนูู ูุฐู ุงูุบุงุจุฉ ุ ูุจุฏุฃุช ุฃุฎูุฑูุง ูู ุงุณุชุฎุฏุงู
ุชุตู
ูู
ุงููุทุงูุงุช.

ุงูุชุฑุญ ุฅุฑูู ุฅููุงูุฒ ุงูู
ุตุทูุญ "ุชุตู
ูู
ูุญุฑูู ุงููุทุงู" ููุณู ูู ุนุงู
2003 ูู ูุชุงุจู ุงูุฐู ูุง ูู
ูู ุงูุชูุจุค ุจู ุ ูุงูุฐู ูุทูู ุนููู ุจุจุณุงุทุฉ ุงููุชุงุจ ุงูุฃุฒุฑู ูู ุงูู
ุฌุชู
ุน. ุงูู
ุดููุฉ ูู ุฃู ุงููุตู ุงูุฃูู ู
ู ูุชุงุจ ุฅููุงูุฒ ูุชุญุฏุซ ุนู ุงูุฃูู
ุงุท ุงูุชูุชูููุฉ (ุชุนุฑููุง ุฌู
ูุนูุง: ูุฐู ูู ุงูู
ุตุงูุน ูุงูููุงูุงุช ูุงูู
ุณุชูุฏุน ูุงูุฎุฏู
ุงุช) ุ ูุงููุงุณ ุนุงุฏุฉู ู
ุง ูุง ูุตููู ุฅูู ุงููุตู ุงูุซุงูู. ูุจุฏู ุงูุฑุฌู: ูู ุดูุก ู
ุฃููู ุ ุณุฃุฐูุจ ูุฃุญุตู ุนูู ุชุทุจูู DDD.

ุนูู ุงููู
ูู ูู ู
ุง ูุญุฏุซ ุฅุฐุง ุฑู
ูุช ุจุฌููู ุฃูู
ุงุท ุชูุชูููุฉ ุนูู ุงูู
ุชุฑุฌู
. ุงููุณุงุฑ - ุฅุฐุง ููุช ุชุณุชุฎุฏู
ุฃูู
ุงุท ุงุณุชุฑุงุชูุฌูุฉ.

ู
ูุฐ ุฅุตุฏุงุฑ ุงููุชุงุจ ุงูุฃุฒุฑู ุ ุชุดูู ู
ุฌุชู
ุน DDD ููู ุฅูู ุญุฏ ู
ุง ุ ุชู
ุฅุนุงุฏุฉ ุงูุชูููุฑ ูู ุงูุนุฏูุฏ ู
ู ุงูุฃุดูุงุก. ูุนู
ุ ูุงุนุชุฑู ุฅููุงูุฒ ููุณู ุจุฃูู ูู
ูุนุฏ ูููู
ููู ูู
ููู ูุถุน ุญุฏ ูุดูุก ู
ูู
ู
ุซู ุงูุชุตู
ูู
ุงูุงุณุชุฑุงุชูุฌู.
ูุจุนุฏ 10 ุณููุงุช ุ ูู ุนุงู
2013 ุ ุชู
ูุดุฑ ุงููุชุงุจ ุงูุฃุญู
ุฑ ู
ู ูุจู Vaughn Vernon. ููู ูุฐุง ุงููุชุงุจ ุ ุชู
ุจูุงุก ุงูุนุฑุถ ุงูุชูุฏูู
ู ุจุงููุนู ุจุงูุชุฑุชูุจ ุงูุตุญูุญ: ูุจุฏุฃ ุจุงูุชุตู
ูู
ุงูุงุณุชุฑุงุชูุฌู ุ ู
ุน ุงูุฃุณุงุณูุงุช. ูุนูุฏู
ุง ูุชููู ุงููุงุฑุฆ ุงููุงุนุฏุฉ ุงููุงุฒู
ุฉ ุ ูุจุฏุฃูู ุจุงููุนู ูู ุงูุญุฏูุซ ุนู ุงูุฃูู
ุงุท ุงูุชูุชูููุฉ ูุชูุงุตูู ุงูุชูููุฐ.
ุนุงุฏุฉู ูู ุงูุชูุงุฑูุฑ ุงูู
ุชุนููุฉ ุจู DDD ุ ููุตูู ุจูุฑุงุกุฉ Evans ุ ุนูู ุงูุฅูุชุฑูุช ุ ููุงู ุฃุฏูุฉ ูุงู
ูุฉ ุชุญุชุงุฌ ุฅูู ูุฑุงุกุฉ ูุตูู ูุบู
ุฑูุง ุจุดูู ุตุญูุญ. ุฃูุตู ุจุงูููุงู
ุจุฐูู ุจุดูู ุฃุณูู: ุงุจุฏุฃ ุจุงููุชุงุจ ุงูุฃุญู
ุฑ ุ ุซู
ุงูุฑุฃู ุ ุซู
ุงูุชูู ุฅูู ุงูููู ุงูุฃุฒุฑู.
ูุจู
ุง ุฃู ุงูุชุตู
ูู
ุงูุงุณุชุฑุงุชูุฌู ุฃู
ุฑ ู
ูู
ุ ูููุชุญุฏุซ ุนู ุฃููุงุฑู ุงูุฑุฆูุณูุฉ.
"ุงูุฃููุงุฑ ุงูุฑุฆูุณูุฉ ููุชุตู
ูู
ุงูุงุณุชุฑุงุชูุฌู"
ูู ุฃู ู
ุดุฑูุน ุฃุชู
ุชุฉ ุงูุฃุนู
ุงู ุ ููุงู ุฏุงุฆู
ุง ุฎุจุฑุงุก ุงูู
ุฌุงู. ูุคูุงุก ูู
ุงูุฃุดุฎุงุต ุงูุฐูู ูููู
ูู ุจุดูู ุฃูุถู ููู ุชุนู
ู ุนู
ููุงุช ุงูุฃุนู
ุงู ุงูุชู ุณูุชู
ุชุตู
ูู
ูุง ุนูู ูู
ูุฐุฌ. ูู
ูู ุฃู ุชููู ูุฐู ุงูู
ุทูุฑูู ูุงูู
ุฏูุฑูู ุงูุชูููุฐููู ููุจุงุฑ ุงูู
ุฏูุฑูู. ุจุดูู ุนุงู
ุ ูู
ูู ุฃู ูููู ุฃู ุดุฎุต ุ ุฅุฐุง ูุงู ูููู
ููุท ุชูู ุงูุนู
ููุงุช ุงูุชุฌุงุฑูุฉ ุงูุชู ูุญุชุงุฌ ุฅูู ุงูุชุนุงู
ู ู
ุนูุง.

ู
ู ูุงุญูุฉ ุฃุฎุฑู ุ ููุงู ุฎุจุฑุงุก ุชููููู: ุงูู
ุทูุฑูู ูุงูู
ููุฏุณูู ุงูู
ุนู
ุงุฑููู ุงูุฐูู ูุดุงุฑููู ู
ุจุงุดุฑุฉ ูู ุฃุชู
ุชุฉ ุงูุชุทุจููุงุช ูุชูููุฐูุง. ูู ุงูู
ุซุงู ุงูู
ูุถุญ ุ ุฑุจู
ุง ุฃุฑุงุฏ ุงูุนู
ูู ุฎุท ุณูุฉ ุญุฏูุฏ ููุฃุทูุงู ุ ููู ุงุชุถุญ ุฃูู ููุน ู
ู ุงููุญุด.
ูู
ุงุฐุง ูุญุฏุซ ูุฐุงุ ูุธุฑูุง ูุฃู ุงูุชูุงุนู ุจูู ุงูู
ุชุฎุตุตูู ุงูุชููููู ูุฎุจุฑุงุก ุงูู
ุฌุงู ูู ู
ููู ูู
ูุฐุฌู ูุจุฏู ูุงูุชุงูู: ููุฌุฏ ุฌุฏุงุฑ ูุจูุฑ ุจูููู
ุ ูุงูู
ุฏูุฑ ูู
ุดู ุนูู ุทูู ุงูุฌุฒุก ุงูุนููู ู
ู ูุฐุง ุงูุฌุฏุงุฑ ููุญุงูู ุฃููุงู ุฃู ูุณู
ุน ู
ุง ูุตุฑุฎูู ุนูู ุฌุงูุจ ูุงุญุฏ ู
ู ุงูุฌุฏุงุฑ ุ ุซู
ูุญุงูู ุฃู ูุตุฑุฎ ุนูู ุฃูุถู ุงูุฃุฑุจุทุฉ ุนูู ุงูุฌุงูุจ ุงูุขุฎุฑ ู
ู ุงูุฌุฏุงุฑ ุ ูููู
ุฌุฑุง ูู ุฏุงุฆุฑุฉ.
ุฃุญูุงููุง ู
ุง ูููู ุงูู
ุฏูุฑ ุตู
ุงุก ุ ูู
ูู ุจูุงุก ุณูุณูุฉ ูุงู
ูุฉ ู
ู ูุคูุงุก ุงูู
ุฏูุฑูู ุ ููุฐุง ุจุงูุทุจุน ูุง ูุณูู
ูู ูุฌุงุญ ุงูู
ุดุฑูุน. ูููู ููุจุบู ุฃู ููููุ

ูุฌุจ ุฃู ูููู ููุงู ุชูุงุนู ู
ุณุชู
ุฑ. ูุฌุจ ุฃู ูุญุงูุธ ุฌู
ูุน ุงูู
ุดุงุฑููู ูู ุงูู
ุดุฑูุน ุนูู ุงูุชูุงุตู ุงูู
ุณุชู
ุฑ ูุงูู
ุฒุงู
ูุฉ ูู
ูุงูุดุฉ ุงูุฃูุฏุงู ูุทุฑู ุชุญููููุง ููู
ุงุฐุง ููุนู ูู ูุฐุง ู
ู ุฎูุงู ุงูุฎุจุฑุงุก ุงูุชููููู ูุฎุจุฑุงุก ุงูู
ุฌุงู.
ูููุง ูุฃุชู ุฅูู ุงูููุทุฉ ุงูุฃููู ูุฑุจู
ุง ุงูุฃูุซุฑ ุฃูู
ูุฉ ูู ูู ู
ู ุงูุชุตู
ูู
ุงูุงุณุชุฑุงุชูุฌู ูุงูุชุตู
ูู
ุงููุงุฆู
ุนูู ุงูู
ุฌุงู ุจุดูู ุนุงู
.

ูุดูู ุงูุชูุงุตู ุจูู ุงูู
ุดุงุฑููู ูู ุงูู
ุดุฑูุน ู
ุง ูุณู
ูู ุงูุชุตู
ูู
ุงูุฐู ูุญุฑูู ุงููุทุงู ูุบุฉ ุดุงู
ูุฉ. ุฅูู ููุณ ูุงุญุฏุงู ุจู
ุนูู ุฃูู ูุงุญุฏ ูุฌู
ูุน ุงูู
ูุงุณุจุงุช. ุงูุนูุณ ุชู
ุงู
ุง. ุฅูู ูุฑุฏู ุจู
ุนูู ุฃู ุฌู
ูุน ุงูู
ุดุงุฑููู ูุชูุงุตููู ููู ุ ูุฌู
ูุน ุงูู
ูุงูุดุงุช ุชุฌุฑู ู
ู ุญูุซ ูุบุฉ ูุงุญุฏุฉ ุ ููุฌุจ ุฃู ุชููู ุฌู
ูุน ุงููุทุน ุงูุฃุซุฑูุฉ ุจุญุฏ ุฃูุตู ู
ู ุญูุซ ูุบุฉ ูุงุญุฏุฉ ุ ุฃู ุชุจุฏุฃ ู
ู ุงูู
ุนุงุฑู ุงูุชูููุฏูุฉ ูุชูุชูู ุจุฑู
ุฒ.
ุณููุงุฑูููุงุช ุงูุนู
ู
ูู
ุฒูุฏ ู
ู ุงูู
ูุงูุดุฉ ุ ูุญุชุงุฌ ุฅูู ููุน ู
ู ุณููุงุฑูู ุงูุนู
ู. ุฏุนููุง ูุชุฎูู ูุฐุง ุงูู
ููู:

ูุฃุชู ู
ุฏูุฑ ู
ุฌู
ูุนุฉ JUG.ru ุฅูููุง ููููู: "ุฃููุง ุงูุฑุฌุงู ุ ุชุฏูู ุงูุชูุงุฑูุฑ ุขุฎุฐ ูู ุงูุงุฒุฏูุงุฏ ุ ูุงููุงุณ ุ ุจุดูู ุนุงู
ุ ูุชุนุฑุถูู ููุชุนุฐูุจ ููุนู ูู ุดูุก ูุฏูููุง ... ุฏุนูุง ูุชู
ููู ู
ู ุนู
ููุฉ ุงูุฅุนุฏุงุฏ ููู
ุคุชู
ุฑ." ูุฑุฏ: "ุญุณููุง!" - ูุฐูุจ ุฅูู ุงูุนู
ู.
ุงูุณููุงุฑูู ุงูุฃูู ุงูุฐู ุณูุนู
ู ุนููู ุชููุงุฆููุง ูู: "ููุฏู
ุงูู
ุชุญุฏุซ ุทูุจูุง ูุชูุฑูุฑ ูู ุญุฏุซ ู
ุนูู ููุถูู ู
ุนููู
ุงุช ุญูู ุชูุฑูุฑู." ู
ุงุฐุง ูุฑู ูู ูุฐุง ุงูุณููุงุฑููุ ู
ุง ูู ุงูู
ุชููู
ุ ููุงู ุญุฏุซ ุ ูููุงู ุชูุฑูุฑ ุ ู
ู
ุง ูุนูู ุฃูู ู
ู ุงูู
ู
ูู ุจุงููุนู ุจูุงุก ูู
ูุฐุฌ ุงูู
ุฌุงู ุงูุฃูู.

ููุง ูุฏููุง ูู
ูุฐุฌ ู
ุฌุงู: ุงูู
ุชุญุฏุซ - ุงูู
ุชุญุฏุซ ุ ุงูุญุฏูุซ - ุงูุชูุฑูุฑ ุ ุงูุญุฏุซ - ุงูุญุฏุซ. ููู ูู
ูุฐุฌ ุงูู
ุฌุงู ูุง ูู
ูู ุฃู ูููู ุจูุง ุญุฏูุฏ ุ ููุง ูู
ูู ุฃู ูุบุทู ูู ุดูุก ุ ูุฅูุง ูุฅูู ุณูู ูุตุจุญ ุถุจุงุจููุง ููููุฏ ุงูุชุฑููุฒ ุ ูุฐูู ูุฌุจ ุฃู ููุชุตุฑ ุทุฑุงุฒ ุงูู
ุฌุงู ุนูู ุดูุก ู
ุง. ูุฐู ูู ุงูููุทุฉ ุงูุฑุฆูุณูุฉ ุงูุชุงููุฉ.

ููุชุตุฑ ูู ู
ู ุทุฑุงุฒ ุงูู
ุฌุงู ูุงููุบุฉ ูู ูู ู
ูุงู ุนูู ุงูุณูุงู ุงูุฐู ูุณู
ูู ุงูุชุตู
ูู
ุงูุฐู ูุญุฑูู ุงููุทุงู ุงูุณูุงู ุงูู
ุญูุท ุจู. ุฅูู ูููุฏ ูู
ูุฐุฌ ุงูู
ุฌุงู ุจุทุฑููุฉ ุชุฌุนู ูู ุงูู
ูุงููู
ุงูู
ูุฌูุฏุฉ ููู ุบูุฑ ูุงุถุญุฉ ุ ูุงูุฌู
ูุน ูููู
ู
ุง ูู ุนูู ุงูู
ุญู.
ุฅุฐุง ูุงููุง "ู
ุณุชุฎุฏู
" ุ ูุนูุฏุฆุฐู ูุฌุจ ุฃู ูููู ูู ุดูุก ูุงุถุญูุง ูู ููุช ูุงุญุฏ ุ ูุฌุจ ุฃู ูููู ูู ุฏูุฑ ู
ูููู
ุ ู
ุนูู ู
ูููู
ุ ูุฌุจ ุฃูุง ูููู ููุนูุง ู
ู ุงูู
ุณุชุฎุฏู
ุงูุชุฌุฑูุฏู ู
ู ูุฌูุฉ ูุธุฑ ุตูุงุนุฉ ุชูููููุฌูุง ุงูู
ุนููู
ุงุช.

ูู ุญุงูุชูุง ุ ูู
ูุฐุฌ ุงูู
ุฌุงู ูุฐุง ุตุงูุญ ูุณูุงู ุงูุชุญุถูุฑ ููู
ุคุชู
ุฑ ุ ูุฐูู ูู ุงูุณูุงู ุงูุฐู ุณูุทูู ุนููู "ุณูุงู ุชุฎุทูุท ุงูุฃุญุฏุงุซ". ููู ููู ูุถูู ุงูู
ุชุญุฏุซ ุดูุฆูุง ู
ุง ุ ููุบูุฑ ุงูู
ุนููู
ุงุช ุ ูุฌุจ ุนููู ุชุณุฌูู ุงูุฏุฎูู ุจุทุฑููุฉ ู
ุง ุ ููุฌุจ ุฃู ูุญุตู ุนูู ุจุนุถ ุงูุญููู. ูุณูููู ูุฐุง ุจุงููุนู ุณูุงููุง ุขุฎุฑ ุ "ุณูุงู ุงููููุฉ" ุ ุญูุซ ุณูููู ููุงู ููุน ู
ู ุงูููุงูุงุช ุงูุฎุงุตุฉ ุจูุง: ุงูู
ุณุชุฎุฏู
ุ ุงูุฏูุฑ ุ ุงูู
ูู ุงูุดุฎุตู.
ูุงูุธุฑูุง ุฅูู ู
ุง ูู ุงูุดูุก ููุง. ุนูุฏู
ุง ูุณุฌู ุดุฎุต ู
ุง ุงูุฏุฎูู ุฅูู ุงููุธุงู
ููููู ุฅุฏุฎุงู ููุน ู
ู ุงูู
ุนููู
ุงุช ุ ูููู ูุฐุง ูู ููุณ ุงูุดุฎุต ูุนูููุง ุ ูููู ูู ุณูุงูุงุช ู
ุฎุชููุฉ ูุชู
ุชู
ุซููู ุจูุงุณุทุฉ ููุงูุงุช ู
ุฎุชููุฉ ุ ููุง ุชุฑุชุจุท ูุฐู ุงูููุงูุงุช ุงุฑุชุจุงุทูุง ู
ุจุงุดุฑูุง.
ุฅุฐุง ุฃุฎุฐูุง ุนูู ุณุจูู ุงูู
ุซุงู ุ ูุฑุซูุง ู
ูุจุฑ ุตูุช ู
ู ุงูู
ุณุชุฎุฏู
ุ ูุณูู ูุฎูุท ุจูู ุฃุดูุงุก ูุง ูู
ูู ุฎูุทูุง ุ ููู
ูู ุฎูุท ุจุนุถ ุงูุณู
ุงุช ุญุณุจ ุงูู
ูุทู. ูุณูููุฏ ุงููู
ูุฐุฌ ุงูุชุฑููุฒ ุนูู ุงูู
ุนูู ุงูู
ุญุฏุฏ ุงูุฐู ูุญุชูู ุนููู ุ ุญูุซ ูุชู
ุชูุณูู
ู ุฅูู ุนุฏุฉ ุณูุงูุงุช.
ุนุฑุถ ุชูุถูุญู: ุฎุฏู
ุฉ ุงูู
ุจูุนุงุช
ุฏุนูุง ูุณุชุฎูุต ุงููููู ู
ู ุงููุธุฑูุฉ ุงูุฌุงูุฉ ูููุธุฑ ุฅูู ุงูููุฏ.
ุงูู
ุคุชู
ุฑ ููุณ ููุท ุฅุนุฏุงุฏ ุงูู
ุญุชูู ุ ูููู ุฃูุถูุง ุงูู
ุจูุนุงุช. ุฏุนููุง ูุชุฎูู ุฃูู ูุฏ ุชู
ุจุงููุนู ูุชุงุจุฉ ุฎุฏู
ุฉ ูุจูุน ุงูุชุฐุงูุฑ ุ ููุฃุชู ู
ุฏูุฑ ู
ุจูุนุงุช ุฅูููุง ููููู: "ุดุจุงุจ! ุจู
ุฌุฑุฏ ุฃู ููุชุจ ุดุฎุต ู
ุง ูุฐู ุงูุฎุฏู
ุฉ ุ ููููุชุดููุง ุ ูููุณ ู
ู ุงููุงุถุญ ุจุงููุณุจุฉ ูู ููู ูุชู
ุงุนุชุจุงุฑ ุงูุฎุตู
ููุนู
ูุงุก ุงูุนุงุฏููู. "
ุจุนุฏ ุงูุชุญุฏุซ ู
ุน ุงูู
ุฏูุฑ ุ ุงูุชุดููุง ุฃู ุงูุณููุงุฑูู ุงููุงู
ู ููุฐู ุงูุฎุฏู
ุฉ ูู: ู
ู ุฎูุงู ุงูููุฑ ุนูู Checkout ุ ูุชู
ุงุนุชุจุงุฑ ุณุนุฑ ุงูุชุฐูุฑุฉ ุงูููุงุฆู ู
ุน ู
ุฑุงุนุงุฉ ุฎุตู
ุงูุนู
ูู ุงูู
ุนุชุงุฏ ุ ููุฐูุจ ุงูุทูุจ ุฅูู ุญุงูุฉ "ุงูุชุธุงุฑ ุงูุฏูุน".
ูู
ูู ุนุฑุถ ุงูุดูุฑุฉ ุงูุชู ุณูุญูููุง ุงูุขู ุจุดูู ู
ููุตู ูู
ุงูู
ุณุชูุฏุน .
ุงูุชุญ ุงูุญู ุ ุงูุธุฑ ุฅูู ุงููููู:

ูุจุฏู ุฃู ูู ุดูุก ูุจุฏู ุฌูุฏูุง: ููุงู ุชุทุจูู ู Core (ุนูู ู
ุง ูุจุฏู ุ ูุนุฑู ุงููุงุณ ุนู ุงูุทุจูุงุช) ุ ูู
ุณุชูุฏุน ... ุนูู ู
ุง ูุจุฏู ุ ูุฅู ุงูุดุฎุต ูุชูู ุงููุตู ุงูุฃูู ู
ู Evans.
ุงูุชุญ OrderCheckoutService. ู
ุงุฐุง ูุฑู ููุงูุ ููุง
ูู ุงูููุฏ :
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;
ุฅูู ููุธุฑ ุนูู ูุชูู: "ุฃูู! ูุฐุง ู
ุง ูุดุจู Brainfuck! ูุฃุฎุจุฑููู ููุนูุง ู
ุง ุฃู ุงูุฑุฌุงู ููุชุจูู ูู C # ".
ู
ู ุงููุงุถุญ ุฃู ู
ุทูุฑ ูุฐู ุงูุดูุฑุฉ ูุฏ ุงุณุชุฌุงุจ ุฌูุฏูุง ูู
ูุงุจูุฉ ุญูู ุงูุฎูุงุฑุฒู
ูุงุช ูููุงูู ุงูุจูุงูุงุช. ูุชุจุช ูู ุฃููู
ุจูุงุฏ ุงูู
ุฏุฑุณุฉ ูู ููุณ ุงููู
ุท ุชูุฑูุจุง. ุจุนุฏ ู
ุฑูุฑ ุจุนุถ ุงูููุช ุ ุจุงุณุชุฎุฏุงู
ุงูุชูุณูู ูุฅุนุงุฏุฉ ุงูุจูุงุก
ุงููุงุญุด ุ ููุชุดู ู
ุง ุงูุฐู ููุถุญู ุ ููุดุฑุญ ูู
ุฏูุฑ ุงูู
ุจูุนุงุช ุงูุฐู ุทุงูุช ู
ุนุงูุงุชู ุฃู ุงูู
ูุทู ูู ูุฐุง: ุฅุฐุง ูุงู ุนุฏุฏ ุงูุทูุจุงุช ูู ุขุฎุฑ 3 ุณููุงุช ุฃูู ู
ู ูุงุญุฏ ุ ูุณูุญุตู ุนูู ุฎุตู
ุจูุณุจุฉ 10 ูช ุ ูุง ุชูู ุนู ุซูุงุซุฉ - 20 ูช ุ ูููุณ ุฃูู ู
ู ุฎู
ุณุฉ - 30 ูช. ูุชุฑู ุงูุจูุฌุฉ - ูุงูุขู ุฃุตุจุญ ู
ู ุงููุงุถุญ ููู ูุนู
ู ูู ุดูุก.
ุฃุนุชูุฏ ุฃู ุงููุซูุฑูู ูุฏ ูุฑุฃูุง ู
ุฏููุฉ ุจูุจ ู
ุงุฑุชู ุงููุธููุฉ. ููุงู ูููู ุนู ูุงุนุฏุฉ ุงููุดุงูุฉ: "ู
ููู ุงูุณูุงุฑุงุช ุจุนุฏ ู
ุบุงุฏุฑุชู ูุฌุจ ุฃู ูููู ุฃูุธู ู
ู
ุง ูุงู ุนููู ูุจู ูุตูููุง ุฅูู ููุงู". ูุฐูู ุ ุฏุนูุง ูุนูุฏ ุชุดููู ูุฐุง ุงูููุฏ ุญุชู ูุจุฏู ุจุดุฑููุง ููุชูุงูู ู
ุน ู
ุง ุชุญุฏุซูุง ุนูู ุณุงุจููุง ุญูู ุงููุบุฉ ูู ูู ู
ูุงู ูุงุณุชุฎุฏุงู
ูุง ูู ุงูููุฏ.
ููุง ูู ุฑู
ุฒ refactored.
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; } }
ุฃูู ุดูุก ูููู
ุจู ูู ููู ุญุณุงุจ ุงูุฎุตู
ุฅูู DiscountCalculator ู
ููุตู ุ ูุงูุฐู ูุธูุฑ ููู ุงูุฃุณููุจ CalculateDiscountBy customerId. ูู ุดูุก ููุฑุฃ ุฅูุณุงููุง ุ ูู ุดูุก ูุงุถุญ: ู
ุงุฐุง ููู
ุงุฐุง ูููู. ุฏุงุฎู ูุฐู ุงูุทุฑููุฉ ุ ูุฑู ุฃู ูุฏููุง ุฎุทูุชูู ุนุงูู
ูุชูู ูุญุณุงุจ ุงูุฎุตู
. ุฃููุงู: ูุญุตู ุนูู ุดูุก ู
ู ู
ุณุชูุฏุน ุงูุทูุจุงุช ุ ูู ุดูุก ููููุง ูุญุงูุฉ ุงูู
ุณุชุฎุฏู
ุ ูุณุช ู
ุถุทุฑูุง ุญุชู ููุฏุฎูู ุฅูู ุงูุฏุงุฎู ุฅุฐุง ูู
ููู ูุฐุง ูู ุงูุฌุฒุก ุงูุฐู ูุซูุฑ ุงูุชู
ุงู
ู ุงูุขู. ุงูุญูููุฉ ูู ุฃููุง ูุญุตู ุนูู ุนุฏุฏ ู
ู ุงูุทูุจุงุช ุงูู
ูุชู
ูุฉ ุ ูุจุนุฏ ุฐูู ูุนุชุจุฑ ุนูู ุงูููุฑ ุฃู ุงูุฎุตู
ุงูุซุงูู ููุฐู ุงููู
ูุฉ ูู ุงูุฎุทูุฉ ุงูุซุงููุฉ.
ุฅุฐุง ููุง ูุฑูุฏ ุฃู ูุฑู ููู ูุชู
ุงููุธุฑ ููู ุ ูุฐูุจ ุฅูู DiscountBy ุ ูููุง ูุชู
ูุชุงุจุฉ ููุณ ุงูุดูุก ุชูุฑูุจูุง ุจุงููุบุฉ ุงูุฅูุฌููุฒูุฉ ุงูุจุดุฑูุฉ ุชูุฑูุจูุง ุงูุชู ูุงู ูุฏููุง "ููุน ู
ู ู
ุตุงูุญุฉ ุงูุฃุฏู
ุบุฉ" ู
ู ูุจู ุ ูู ุดูุก ูุงุถุญ ูุฏููู.
ูุงูุณุคุงู ุงููุญูุฏ ุงูุฐู ูู
ูู ุฃู ููุดุฃ ูู ู
ุง ูู ุงููุญุฏุงุช ุงูุชู ููุงุณ ุงูุฎุตู
ุจูุง. ูุฏ ูููู ู
ู ุงูู
ู
ูู ุฅุถุงูุฉ ููู
ุฉ "ุงููุณุจุฉ ุงูู
ุฆููุฉ" ูู ุงุณู
ุงูุทุฑููุฉ ูุชูุถูุญูุง ุ ูููู ู
ู ุงูุณูุงู ูุงูุฃุดูุงู ุงูู
ุนููุฉ ุ ุนูู ุงูุฃุฑุฌุญ ุฃุนุชูุฏ ุฃู ูุฐู ูู ุงููุณุจ ุงูู
ุฆููุฉ ุ ููุฅูุฌุงุฒ ูู
ูู ุญุฐููุง. ุฅุฐุง ููุง ูุฑูุฏ ุฃู ูุฑู ู
ุง ูู ุนุฏุฏ ุงูุทูุจุงุช ููุงู ุ ูุณูุฐูุจ ุฅูู ุฑู
ุฒ ุงูุณุฌู ููุฑู. ุงูุขู ูู ููุนู ูุฐุง. ูู ุฎุฏู
ุชูุง ุ ูุญุชุงุฌ ุฅูู ุฅุถุงูุฉ ุชุจุนูุฉ DiscountCalculator ุฌุฏูุฏุฉ. ูุฏุนููุง ูุฑู ู
ุง ุงูุชูู ุจูุง ูู ุงูุฅุตุฏุงุฑ ุงูุซุงูู ู
ู ุทุฑููุฉ Checkout.
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); }
ุงูุธุฑ ุ ุทุฑููุฉ Checkout ุชุณุชูุจู orderId ุ ุซู
ุชุณุชูุจู orderId ุจูุงุณุทุฉ orderId ุ ููููุง ููุนู
ูู ู
ู ูุฐุง ุงูุทูุจ ุ ูุฅูู ูุนุชุจุฑ ุงูุฎุตู
ุจุงุณุชุฎุฏุงู
ุญุงุณุจุฉ ุงูุฎุตู
ุ ููุทุจู ุงูุฎุตู
ุนูู ุงูุทูุจ ุ ููุถุจุท ุงูุญุงูุฉ ุนูู AwaitingPayment ููุญูุธ ุงูุทูุจ. ูุงู ูุฏููุง ูุต ุจุงููุบุฉ ุงูุฑูุณูุฉ ุนูู ุงูุดุฑูุญุฉ ุ ูููู ููุง ูุฑุฃูุง ุนู
ููุงู ุชุฑุฌู
ุฉ ูุฐุง ุงููุต ุฅูู ุงูุฅูุฌููุฒูุฉ ููู ุดูุก ูุงุถุญ ุ ูู ุดูุก ูุงุถุญ.
ูู ุชุฑู ู
ุง ูู ุงูุณุญุฑุ ูู
ูู ุนุฑุถ ูุฐุง ุงูุฑู
ุฒ ูุฃู ุดุฎุต: ููุณ ููุท ุงูู
ุจุฑู
ุฌูู ุ ูููู ุถู
ุงู ุงูุฌูุฏุฉ ูุงูู
ุญูููู ูุงูุนู
ูุงุก. ุณูู ูููู
ูู ูู ู
ุง ูุญุฏุซ ุ ูุฃู ูู ุดูุก ู
ูุชูุจ ุจุงููุบุฉ ุงูุจุดุฑูุฉ. ุฃูุง ุฃุณุชุฎุฏู
ูุฐุง ูู ู
ุดุฑูุนูุง ุ ุญููุง ูู
ูู ูู QA ุฅููุงุก ูุธุฑุฉ ุนูู ุจุนุถ ุงููุทุน ุ ูุงูุชุญูู ู
ู ูููู ูููู
ุฃู ููุงู ููุนูุง ู
ู ุงูุฃุฎุทุงุก. ูุฃู ุงููููู ุชููู ุฐูู ุ ูุงูุฑู
ุฒ ู
ุฎุชูู ููููุงู ุ ูููู ูููู
ู
ุง ูุญุฏุซ ููุงู ุ ุฑุบู
ุฃูู ููุณ ู
ุทูุฑูุง. ูุจููุณ ุงูุทุฑููุฉ ุ ูู
ูููุง ู
ูุงูุดุฉ ุงูุฑู
ุฒ ู
ุน ุงูู
ุญูู ูู
ูุงูุดุชู ุจุงูุชูุตูู. ุฃููู ุ "ุงูุธุฑ ุ ูุฐู ูู ุงูุทุฑููุฉ ุงูุชู ุชุนู
ู ุจูุง ูู ุงูููุฏ". ู
ูุงุฐูุง ุงูุฃุฎูุฑ ููุณ ุงููููู ุ ูููู ุงูููุฏ. ูู ุดูุก ูุนู
ู ูู
ุง ูู ู
ูุชูุจ ูู ุงูุชุนููู
ุงุช ุงูุจุฑู
ุฌูุฉ. ู
ู ุงูู
ูู
ุฌุฏูุง ุงุณุชุฎุฏุงู
ุงููุบุฉ ูู ูู ู
ูุงู ุนูุฏ ูุชุงุจุฉ ุงูููุฏ.

ูุฐู ูู ุงูููุทุฉ ุงูุฑุฆูุณูุฉ ุงูุซุงูุซุฉ.
ููุฌุฏ ุงููุซูุฑ ู
ู ุงูุงูุชุจุงุณ ุญูู ุงูุชุตู
ูู
ุงูุฐู ูุญุฑูู ุงูู
ุฌุงู ูู ุฃุดูุงุก ู
ุซู ุงูู
ุฌุงู ุ ุงููุทุงู ุงููุฑุนู ุ ุงูุณูุงู ุงูู
ุฑุจูุท ุ ููู ุชุฑุชุจุท ุจู
ุง ุชุนููู. ูุจุฏู ุฃู ุงูุฌู
ูุน ูููุฏูู ุดูุฆูุง ู
ุง ุ ูููู
โโู
ุฑุชุจูู ุจุทุฑููุฉ ุฃู ุจุฃุฎุฑู. ูููู ููุณ ู
ู ุงููุงุถุญ ุฅุฐู ู
ุง ูู ุงููุฑู ุ ููู
ุงุฐุง ุชู
ุงุฎุชุฑุงุนูุง ุจุดูู ู
ุฎุชูู.

ูุนุฏ ุงูู
ุฌุงู ุดูุฆูุง ุนุงูู
ููุง ุ ููู ู
ุฌุงู ู
ูุถูุน ุนุงูู
ู ุชุฌูู ููู ูุฐู ุงูุฃุนู
ุงู ุงูุชุฌุงุฑูุฉ ุงูุฎุงุตุฉ ุงูุฃู
ูุงู. ุนูู ุณุจูู ุงูู
ุซุงู ุ ุจุงููุณุจุฉ ุฅูู DotNext ุ ูุนุฏ ูุฐุง ู
ุคุชู
ุฑูุง ุ ุฃู
ุง ุจุงููุณุจุฉ ุฅูู Pyaterochka ููู ุนุจุงุฑุฉ ุนู ุจูุน ุจุงูุชุฌุฒุฆุฉ ููุณูุน.
ุงูุดุฑูุงุช ุงููุจูุฑุฉ ูุฏ ูููู ููุง ุนุฏุฉ ู
ุฌุงูุงุช. ุนูู ุณุจูู ุงูู
ุซุงู ุ ุชุนู
ู Amazon ูู ูู ู
ู ุจูุน ุงูุจุถุงุฆุน ุนุจุฑ ุงูุฅูุชุฑูุช ูุชูููุฑ ุงูุฎุฏู
ุงุช ุงูุณุญุงุจูุฉ ุ ููุฐู ู
ุฌุงูุงุช ู
ูุงุถูุน ู
ุฎุชููุฉ.
ูู
ุน ุฐูู ุ ุฅูู ุดูุก ุนุงูู
ู ููุง ูู
ูู ุชุดุบููู ุชููุงุฆููุง ุจุดูู ู
ุจุงุดุฑ ุ ุญุชู ู
ู ุงูุตุนุจ ุงูุชุญููู ููู. ููุชุญููู ุ ูุชู
ุชูุณูู
ุงูู
ุฌุงู ุญุชู
ุงู ุฅูู ูุทุงูุงุช ูุฑุนูุฉ ุ ุฃู ุฅูู ูุทุงูุงุช ูุฑุนูุฉ.

ุงููุทุงูุงุช ุงููุฑุนูุฉ ูู ุฃุฌุฒุงุก ู
ู ุนู
ู ุชุฌุงุฑู ุ ูู ูุบุชูุง ุ ู
ุฑุชุจุท ุจุดูู ูุจูุฑ ุ ุฃู ุฃููุง ููุน ู
ู ุงูุนู
ููุงุช ุงูู
ูุทููุฉ ุงูู
ููุฑุฏุฉ ุงูุชู ุชุชูุงุนู ู
ุน ุจุนุถูุง ุงูุจุนุถ ุนูู ู
ุณุชูู ุฑุฆูุณู.
ุนูู ุณุจูู ุงูู
ุซุงู ุ ุฅุฐุง ุฃุฎุฐูุง ู
ุชุฌุฑุงู ุนุจุฑ ุงูุฅูุชุฑูุช ุ ูุณูููู ุฐูู ุจูุงุกู ุนูู ุงูุทูุจุงุช ูู
ุนุงูุฌุชูุง ุ ูุณูุชู
ุชุณููู
ูุง ุ ููุฐุง ูู ุงูุนู
ู ู
ุน ุงูู
ูุฑุฏูู ุ ููุฐุง ุงูุชุณููู ุ ููุฐุง ูู ุงูู
ุญุงุณุจุฉ. ููู
ุง ููู ุจุนุถ ูุฐู ุงููุทุน - ููุฐุง ู
ุง ุชููุณู
ุฅููู ุงูุดุฑูุฉ.

ู
ู ูุฌูุฉ ูุธุฑ DDD ุ ูุชู
ุชูุณูู
ุงููุทุงูุงุช ุงููุฑุนูุฉ ุฅูู ุซูุงุซุฉ ุฃููุงุน. ูููุง ุฃูุฏ ุฃู ุฃููู ุดูุฆูุง ุขุฎุฑ: ุบุงูุจูุง ูู ุงููุชุจ ูุงูู
ูุงูุงุช ูุชู
ุงุฎุชุตุงุฑ ุงููุทุงู ุงููุฑุนู ุจุจุณุงุทุฉ ุฅูู ุงูู
ุฌุงู ุ ูููู ุนุงุฏุฉู ูู ุญุงูุฉ ุฏู
ุฌู ู
ุน ููุน ุงููุทุงู ุงููุฑุนู. ุฃู ุนูุฏู
ุง ูููููู "ุงูู
ุฌุงู ุงูุฃุณุงุณู" ุ ูุฅููู
ูุนููู "ุงููุทุงู ุงููุฑุนู ุงูุฃุณุงุณู" ุ ูุฑุฌู ุนุฏู
ุงูุฎูุท ูู ูุฐุง. ูุฌุฑ ุฐููู ูู ุงูุจุฏุงูุฉ.
ุชููุณู
ุงูู
ุฌุงูุงุช ุงููุฑุนูุฉ ุฅูู ุซูุงุซุฉ ุฃููุงุน.

ุงูุฃูู ูุงูุฃูู
ูู ููุฑ. Core ูู ุงูู
ุฌุงู ุงููุฑุนู ุงูุฑุฆูุณู ุ ููุฐู ูู ุงูู
ูุฒุฉ ุงูุชูุงูุณูุฉ ููุดุฑูุฉ ุ ู
ุง ุงูุฐู ูุฌุนู ูุฐู ุงูุดุฑูุฉ ุฃู
ูุงููุง ุ ูููู ุชุฎุชูู ุนู ู
ูุงูุณููุง ุ ูู
ุนุฑูุชูุง ุ ูู
ูู
ุง ุณู
ูุชูุง. ุฅุฐุง ุฃุฎุฐูุง ู
ุคุชู
ุฑ DotNext ุ ููุฐุง ูู ุงูู
ุญุชูู. ุฃุชูุช ุฌู
ูุนูุง ุฅูู ููุง ููู
ุญุชูู ุ ุฅุฐุง ูู
ููู ููุงู ู
ุซู ูุฐุง ุงูู
ุญุชูู ููุง ุ ููู ุชุฐูุจ ุฃู ุชุฐูุจ ุฅูู ู
ุคุชู
ุฑ ุขุฎุฑ. ูู ูููู ููุงู DotNext ุจุงูุดูู ุงูุฐู ุจู.

ุงูููุน ุงูุซุงูู ูู ุฏุนู
ุงููุทุงู ุงููุฑุนู. ูุนุฏ ูุฐุง ุฃูุถูุง ุฃู
ุฑูุง ู
ูู
ูุง ููุณุจ ุงูู
ุงู ุ ูู
ุง ุฃูู ุดูุก ู
ุณุชุญูู ุจุฏููู ุ ููููู ููุณ ููุนูุง ู
ู ุงูุฏุฑุงูุฉ ุงููููุฉ ุ ู
ูุฒุฉ ุชูุงูุณูุฉ ุญููููุฉ. ูุฐุง ูู ู
ุง ูุฏุนู
ุงูู
ุฌุงู ุงููุฑุนู ุงูุฃุณุงุณู. ู
ู ูุฌูุฉ ูุธุฑ ุชุทุจูู ุงูุชุตู
ูู
ุงูู
ุฏููุน ุจุงูู
ุฌุงู ุ ูุฐุง ูุนูู ุฃูู ูุชู
ุจุฐู ุฌูุฏ ุฃูู ูู ุฏุนู
ุงููุทุงู ุงููุฑุนู ุ ูุชู
ุฅููุงุก ุฌู
ูุน ุงูููู ุงูุฑุฆูุณูุฉ ุนูู Core.
ู
ุซุงู ุนูู ููุณ DotNext ูู ุงูุชุณููู. ูุฐุง ู
ุณุชุญูู ุจุฏูู ุงูุชุณููู ุ ูุฅูุง ููู ูุนุฑู ุฃุญุฏ ุนู ุงูู
ุคุชู
ุฑ ุ ูููู ุจุฏูู ุงูุญุงุฌุฉ ุฅูู ุชุณููู ุงูู
ุญุชูู.

ูุฃุฎูุฑุงู ุ ุงููุทุงู ุงููุฑุนู ุงูุนุงู
. ุนุงู
ูู ุจุนุถ ุงูู
ูุงู
ุงูุชุฌุงุฑูุฉ ุงููู
ูุฐุฌูุฉ ุ ูุงูุชู ุ ููุงุนุฏุฉ ุนุงู
ุฉ ุ ูู
ูู ุฃุชู
ุชุฉ ู
ุน ุงูู
ูุชุฌุงุช ุงูููุงุฆูุฉ ุฃู ุงูุงุณุชุนุงูุฉ ุจู
ุตุงุฏุฑ ุฎุงุฑุฌูุฉ. ูุฐุง ูู ุงูู
ุทููุจ ุฃูุถูุง ุ ูููู ูุง ูุชุทูุจ ุจุงูุถุฑูุฑุฉ ุชูููุฐ ู
ุณุชูู ู
ู ุฌุงูุจูุง ุ ูุญุชู ุฃูุซุฑ ู
ู ุฐูู ุ ุณูููู ุงุณุชุฎุฏุงู
ู
ูุชุฌ ุชุงุจุน ูุฌูุฉ ุฎุงุฑุฌูุฉ ููุฑุฉ ุฌูุฏุฉ ุนุงุฏุฉ.
ุนูู ุณุจูู ุงูู
ุซุงู ุ ุจูุน ุงูุชุฐุงูุฑ. ุชุจูุน DotNext ุงูุชุฐุงูุฑ ุนุจุฑ TimePad. ูุฐุง ุงููุทุงู ุงููุฑุนู ู
ุคุชู
ุช ุชู
ุงู
ูุง ุจูุงุณุทุฉ TimePad ุ ููู ุชุญุชุงุฌ ุฅูู ูุชุงุจุฉ TimePad ุซุงููุฉ ุจููุณู.

ูุฃุฎูุฑุง ุ ูุญุฏูุง ุงูุณูุงู. ููุน ุงูุณูุงู ุงูู
ุญูุท ุจู ูุงููุทุงู ุงููุฑุนู ุฏุงุฆู
ูุง ูู ู
ูุงู ู
ุง ูุฑูุจูุง ุ ูููู ููุฌุฏ ูุฑู ูุจูุฑ ุจูููู
ุง. ูุฐุง ู
ูู
ุฌุฏุง

ููุงู ุณุคุงู ุญูู StackExchange ููู ูุฎุชูู ุงูุณูุงู ุงูู
ุญูุท ุนู ุงููุทุงู ุงููุฑุนู. ุงููุทุงู ุงููุฑุนู ูู ูุทุนุฉ ู
ู ุงูุฃุนู
ุงู ุ ุฌุฒุก ู
ู ุงูุนุงูู
ุงูุญูููู ุ ูู ู
ูููู
ู
ุณุงุญุฉ ุจูุงู ุงูู
ุดููุฉ. ูุญุฏ ุงูุณูุงู ุงูู
ูุญุฏุฑ ู
ู ูู
ูุฐุฌ ุงูู
ุฌุงู ูุงููุบุฉ ูู ูู ู
ูุงู ุ ุฃู ู
ุง ูู ูุชูุฌุฉ ูููู
ุฐุฌุฉ ุ ูุจุงูุชุงูู ุ ูุฅู ุงูุณูุงู ุงูู
ุญูุท ุจู ูู ู
ูููู
ู
ุณุงุญุฉ ุงูุญู. ูู ุนู
ููุฉ ุชูููุฐ ุงูู
ุดุฑูุน ุ ูุชู
ุฅุฌุฑุงุก ููุน ู
ู ุชุฎุทูุท ุงููุทุงูุงุช ุงููุฑุนูุฉ ูู ุงูุณูุงูุงุช ุงูู
ุญุฏุฏุฉ.

ู
ุซุงู ููุงุณููู: ุฅู
ุณุงู ุงูุฏูุงุชุฑ ูู
ุฌุงู ูุฑุนู ุ ูููููุฉ ุชุนููู ุงูุนู
ููุฉ ุ ุจุทุฑููุฉ ุชููุงุฆูุฉ ุ ุนูู ุณุจูู ุงูู
ุซุงู ุ 1C ู
ุณู ุงูุฏูุงุชุฑ ุ ุฅูุจุง ุฃู "ุนู
ูู" - ูุชู
ุขูููุง ุจุทุฑููุฉ ู
ุง ุจูุงุณุทุฉ ุจุนุถ ุงูู
ูุชุฌุงุช. ูุฐุง ูู ุงูุณูุงู ุงูู
ุญุฏูุฏ ููู
ุญุงุณุจุฉ ุ ุญูุซ ุชูุฌุฏ ูุบุชู ูู ูู ู
ูุงู ุ ูู
ุตุทูุญุงุชู ุงูุฎุงุตุฉ. ูุฐุง ูู ุงููุฑู ุจูููู
ุง.

ุฅุฐุง ุนุฏูุง ุฅูู DotNext ุ ูุญููุฆุฐู ุ ูู
ุง ููุช ุ ูุชู
ุชุนููู ุงูุชุฐุงูุฑ ุฅูู TimePad ุ ููุชู
ุชุนููู ุงูู
ุญุชูู ุงูุฐู ูู
ุซู Subdomain ุงูุฎุงุต ุจูุง ุฅูู ุชุทุจูู ู
ุฎุตุต ูููู
ุจุชุทููุฑู ูุฅุฏุงุฑุฉ ุงูู
ุญุชูู.
ุญุฌู
ุงูุณูุงู ูุญุฏ
ููุงู ูุญุธุฉ ุชุซูุฑ ุงููุซูุฑ ู
ู ุงูุฃุณุฆูุฉ. ููููุฉ ุงุฎุชูุงุฑ ุงูุญุฌู
ุงูู
ูุงุณุจ ููุณูุงู ุงูู
ุญูุทุ ูู ุงููุชุจ ุ ูู
ูู ููู
ุฑุก ุฃู ูุฌุฏ ู
ุซู ูุฐุง ุงูุชุนุฑูู: "ูุฌุจ ุฃู ูููู ุงูุณูุงู ุงูู
ูุญุฏุฑ ุชู
ุงู
ูุง ุจุญูุซ ุชููู ุงููุบุฉ ูู ูู ู
ูุงู ูุงู
ูุฉ ูู
ุชุณูุฉ ูุบูุฑ ุบุงู
ุถุฉ ูุบูุฑ ุบุงู
ุถุฉ ูู
ุชุณูุฉ. ุชุนุฑูู ุฑุงุฆุน ุ ุจุฃุณููุจ ุนุงูู
ุฑูุงุถูุงุช ู
ู ููุชุฉ ู
ุดููุฑุฉ: ุฏูููุฉ ููุบุงูุฉ ุ ูููู ุบูุฑ ู
ุฌุฏูุฉ.
ุฏุนููุง ููุงูุด ููู ูููู
ููุณ ุงูุดูุก: ู
ุง ุฅุฐุง ูุงู ูุฌุจ ุฃู ูููู ุญูุงู ุฃู ู
ุดุฑูุนูุง ุฃู ู
ุณุงุญุฉ ุงุณู
ูุง - ู
ุง ุงููุทุงู ุงูุฐู ูุฌุจ ุฅุฑูุงูู ุจุงูุณูุงู ุงูู
ุญูุท ุจูุ

ุฃูู ุดูุก ูู
ููู ูุฑุงุกุชู ูู ูู ู
ูุงู ุชูุฑูุจูุง: ู
ู ุงููุงุญูุฉ ุงูู
ุซุงููุฉ ุ
ูุฌุจ ุชุนููู ูุทุงู ูุฑุนู ูุงุญุฏ ุฅูู ุณูุงู ู
ุญุฏุฏ ูุงุญุฏ ุ ุฃู ุฃู ูููู ุชููุงุฆููุง ุจูุงุณุทุฉ ุณูุงู ู
ุญุฏุฏ ูุงุญุฏ. ูุฐุง ูุจุฏู ู
ูุทูููุง ุ ูุฃู ููุงู ูุชูุฌุฏ ูููุฏ ูุนู
ููุฉ ุชุฌุงุฑูุฉ ู
ููุตูุฉ ุ ููู ููุชุง ุงูุญุงูุชูู ุจุนุถ ุงูู
ุตุทูุญุงุช ุงูุชุฌุงุฑูุฉ ุ ุชุธูุฑ ูุบุฉ ูุงุญุฏุฉ. ููู ุนููู ุฃู ุชููู
ุฃู ูุฐุง ูุถุน ู
ุซุงูู ุ ููู ูููู ูุฏูู ูุฐุง ุจุงูุถุฑูุฑุฉ ุ ูููุณ ู
ู ุงูุถุฑูุฑู ู
ุญุงููุฉ ุชุญููู ุฐูู.
ูุฃูู ุ ู
ู ูุงุญูุฉ ุ ูู
ูู ุฃู ูููู ุงููุทุงู ุงููุฑุนู ูุจูุฑูุง ุฌุฏูุง ุ ููู
ููู ุงูุญุตูู ุนูู ุงูุนุฏูุฏ ู
ู ุงูุชุทุจููุงุช ุฃู ุงูุฎุฏู
ุงุช ุงูุชู ุณุชุนู
ู ุนููู ุชููุงุฆููุง ุ ูุฐูู ูุฏ ูุชุถุญ ุฃู ุงูุนุฏูุฏ ู
ู ุงูุณูุงูุงุช ุงูู
ุฑุชุจุทุฉ ุจูุง ุชุชูุงูู ู
ุน ูุทุงู ูุฑุนู ูุงุญุฏ.
ูููู ููุงู ู
ููู ุนูุณู ุ ููุงุนุฏุฉ ุนุงู
ุฉ ุ ูุฐุง ูู ุงูุญุงู ุจุงููุณุจุฉ ููุฌุงุณู. ููุฐุง ูู ุ ุนูุฏู
ุง ูุงู
ูุง ุจุฅูุดุงุก ุชุทุจูู ูุจูุฑ ููุจูุฑ ูุนู
ู ุนูู ุฃุชู
ุชุฉ ูู ุดูุก ูู ุงูุนุงูู
ูู ูุฐู ุงูู
ุคุณุณุฉ ุ ูุณูุธูุฑ ุงูุนูุณ. ุชุทุจูู ูุงุญุฏ ูู ุณูุงู ู
ุญุฏุฏ ุ ูู
ู ุงูู
ุฑุฌุญ ุฃู ูููู ููุงู ููุน ู
ู ุงูุบู
ูุถ ุ ููู ุงููุทุงูุงุช ุงููุฑุนูุฉ ูู
ุชุฎุชู ู
ู ูุฐุง ุ ุนูู ุงูุชูุงูู ุ ุณูุชูุงูู ุณูุงู ู
ุญุฏุฏ ูุงุญุฏ ู
ุน ุนุฏุฉ ูุทุงูุงุช ูุฑุนูุฉ.
ุนูุฏู
ุง ุฃุตุจุญุช ุจููุฉ ุฎุฏู
ุงุช microservice ุนุตุฑูุฉ ุ ุธูุฑุช ุชูุตูุฉ ุฃุฎุฑู (ุนูู ุงูุฑุบู
ู
ู ุฃููุง ูุง ุชุชุนุงุฑุถ ู
ุน ุจุนุถูุง ุงูุจุนุถ):
ุณูุงู ู
ุญุฏุฏ ููู ุฎุฏู
ุฉ microservice . ู
ุฑุฉ ุฃุฎุฑู ุ ูุจุฏู ุงูุฃู
ุฑ ู
ูุทูููุง ุ ูุงููุงุณ ููุนููู ุฐูู ุญููุง. ูุธุฑูุง ูุฃู ุงูุฎุฏู
ุฉ ุงูู
ููุฑููุฉ ูุฌุจ ุฃู ุชููู
ุจุจุนุถ ุงููุธุงุฆู ุงููุงุถุญุฉ ุ ูุงูุชู ุชุชู
ุชุน ุจุงุชุตุงู ุฏุงุฎูู ุนุงูู ุ ูุชุชูุงุตู ู
ุน ุฎุฏู
ุงุช ุฃุฎุฑู ู
ู ุฎูุงู ููุน ู
ู ุงูุชูุงุนู. ุฅุฐุง ููุช ุชุณุชุฎุฏู
ุจููุฉ microservice ุ ููู
ููู ุฃุฎุฐ ูุฐู ุงูุชูุตูุฉ ุจููุณู.
ููู ูุฐุง ููุณ ูู ุดูุก. ุงุณู
ุญูุง ูู ุฃู ุฃุฐูุฑู ู
ุฑุฉ ุฃุฎุฑู ุจุฃู ุงูุชุตู
ูู
ุงูุฐู ูุญุฑูู ุงููุทุงู ูุชุนูู ุจุงููุซูุฑ: ุนู ุงููุบุฉ ุ ูุนู ุงููุงุณ. ููุง ูู
ููู ุชุฌุงูู ุงูุฃุดุฎุงุต ูุงูููุงู
ุจุงูู
ุนุงููุฑ ุงููููุฉ ููุท ูู ูุฐุง ุงูุดุฃู. ูุฐูู ุ ูุชุจุช ูุฐุง:
ุณูุงู ูุงุญุฏ ูุณุงูู X-man . ููุช ุฃุนุชูุฏ ุฃู x ุชุจูุบ ุญูุงูู 10 ุ ููููุง ุชุญุฏุซูุง ููููุงู ู
ุน Igor Labutin (
twitter.com/ilabutin ) ูุธู ุงูุณุคุงู ู
ูุชูุญูุง.
ู
ู ุงูู
ูู
ููุง ููู
ูุฐุง: ูุบุฉ ูุงุญุฏุฉ ุชุธู ู
ูุญุฏุฉ ุจููู
ุง ูุชุญุฏุซ ุฌู
ูุน ุงูู
ุดุงุฑููู ููุชุญุฏุซูู ููุชููู
ูุง ุงูุฌู
ูุน ุจุดูู ูุง ูุจุณ ููู. ู
ู ุงููุงุถุญ ุฃู ุนุฏุฏูุง ูุง ุญุตุฑ ูู ู
ู ุงููุงุณ ูุง ูู
ูููู
ุงูุชุญุฏุซ ุจุงููุบุฉ ููุณูุง. ุฅู ุชุงุฑูุฎ ุงูุจุดุฑูุฉ ูุธูุฑ ุจูุถูุญ ูุฐุง. ูู ุฃู ุญุงู ุ ุชุธูุฑ ุจุนุถ ุงูููุฌุงุช ุ ูุจุนุถ ู
ุนุงูููุง ุ ูุงูุขู ูู
ููู ุฅุถุงูุฉ ุงูู
ูู
ุงุช ูููู
ุฌุฑุง. ุจุทุฑููุฉ ุฃู ุจุฃุฎุฑู ุ ูุฅู ุงููุบุฉ ุทู
ุณ.
ูุฐูู ุ ูุฌุจ ุฃู ูููู ู
ูููู
ุง ุฃู ุนุฏุฏ ุงูุฃุดุฎุงุต ุงูุฐูู ูุณุชุฎุฏู
ูู ูุฐู ุงููุบุฉ ุงููุฑุฏูุฉ ุ ูุจุงูุชุงูู ูุดุงุฑููู ูู ุงูุชุทููุฑ ุ ูู ุงูุชุดุบูู ุงูุขูู ุ ู
ุญุฏูุฏ. ุชุชุญุฏุซ ุงููุชุจ ุฃูุถูุง ุนู ุจุนุถ ุงูุฃุณุจุงุจ ุงูุณูุงุณูุฉ: ุฅุฐุง ูุงู ููุงู ูุฑููุงู ูุนู
ูุงู ุชุญุช ููุงุฏุฉ ู
ุฎุชูู ุงูู
ุฏูุฑูู ููุนู
ูุงู ูู ููุณ ุงูุณูุงู ุงูู
ุญุฏุฏ ุ ููุณุจุจ ู
ู ุงูุฃุณุจุงุจ ุฃู ูุคูุงุก ุงูู
ุฏูุฑูู ููุณูุง ุฃุตุฏูุงุก ู
ุน ุจุนุถูู
ุงูุจุนุถ ุ ุณุชุจุฏุฃ ุงูุตุฑุงุนุงุช ูุณุชููุฏ ุงูุชุฑููุฒ. ูุฐูู ุ ุณูููู ู
ู ุงูุฃุณูู ูุงูุฃูุซุฑ ุตูุงุจูุง ุฅูุดุงุก ุณูุงููู ู
ููุฏูู ููู ุฃู
ุฑ ูุนุฏู
ู
ุญุงููุฉ ุฏู
ุฌ ู
ุง ูู
ูุชู
ุฏู
ุฌู.
ุงูุนู
ุงุฑุฉ ูุฅุฏุงุฑุฉ ุงูุชุจุนูุฉ
ู
ู ูุฌูุฉ ูุธุฑ ุงูุชุตู
ูู
ุงูุฐู ูุญุฑูู ุงููุทุงู ุ ูุง ููู
ุญููุง ุฃู ููุฏุณุฉ ุชุฎุชุงุฑูุง. ูุง ูุนุชู
ุฏ ุงูุชุตู
ูู
ุงูู
ุฏููุน ุจุงูู
ุฌุงู ุนูู ุฐูู ุ ูุงูุชุตู
ูู
ุงูุฐู ูุญุฑูู ุงูู
ุฌุงู ูุชุนูู ุจุงููุบุฉ ูุงูุชูุงุตู.

ูููู ููุงู ููุทุฉ ู
ูู
ุฉ ูุงุญุฏุฉ ุ ู
ู ูุฌูุฉ ูุธุฑ ู
ุนุงููุฑ ุงุฎุชูุงุฑ ุงูุจููุฉ ุงูุชู ุชูู
ูุง ู
ู ู
ูุธูุฑ ุงูุชุตู
ูู
ุงููุงุฆู
ุนูู ุงูู
ุฌุงู:
ูุฏููุง ูู ุชุฎููุต ู
ูุทู ุงูุฃุนู
ุงู ู
ู ุชุจุนูุงุช ุงูุทุฑู ุงูุซุงูุซ . ูุฃูู ุจู
ุฌุฑุฏ ุธููุฑ ุชุจุนูุงุช ุงูุทุฑู ุงูุซุงูุซ ุ ุชุธูุฑ ุงูู
ุตุทูุญุงุช ุ ุชุธูุฑ ุงูููู
ุงุช ุงูุชู ูุง ุชุฏุฎู ูู ูุบุฉ ูุงุญุฏุฉ ูุชุจุฏุฃ ูู ุชุจุฏูุฏ ู
ูุทู ุฃุนู
ุงููุง.

ุฏุนููุง ูููู ูุธุฑุฉ ุนูู ู
ุซุงู ููุงุณููู ููููุฏุณุฉ ุงูู
ุนู
ุงุฑูุฉ: ุงูููุฏุณุฉ ุงูู
ุนู
ุงุฑูุฉ ุงูู
ุนุฑููุฉ ุซูุงุซูุฉ ุงูุทุจูุงุช. ุจู
ุฌุฑุฏ ุฃู ูุง ูุณู
ูุง ุทุจูุฉ ู
ุฌุงู (ููุง ุทุจูุฉ ุงูุฃุนู
ุงู): ุงููุดุงุท ุงูุชุฌุงุฑู ูุงูุฃุณุงุณู ูุงูู
ุฌุงู ู
ุชู
ุงุซูุงู. ูู ุฃู ุญุงู ุ ูุฐู ูู ุงูุทุจูุฉ ุงูุชู ููุน ูููุง ู
ูุทู ุงูุนู
ู ุ ูุฅุฐุง ูุงู ูุนุชู
ุฏ ุนูู ุทุจูุฉ ุงูุจูุงูุงุช ุ ููุฐุง ูุนูู ุฃู ุจุนุถ ุงูู
ูุงููู
ู
ู ุทุจูุฉ ุงูุจูุงูุงุช ุณูู ุชุชุฏูู ุจุทุฑููุฉ ู
ุง ุฅูู ุทุจูุฉ ุงูู
ุฌุงู ูุณุชุชุฎูุต ู
ููุง.

ุจููุฉ ุงูุทุจูุฉ ุงูุฃุฑุจุนุฉ ูู ููุณูุง ุจุดูู ุฃุณุงุณู ุ ูู
ุง ุฒุงูุช ุทุจูุฉ ุงูู
ุฌุงู ุชุนุชู
ุฏ ุ ูุญูุซ ุฅููุง ุชุนุชู
ุฏ ุ ูุฅู ุงูุชุจุนูุงุช ุงูุฎุงุฑุฌูุฉ ูุบูุฑ ุงูุถุฑูุฑูุฉ ุณุชุดู ุทุฑูููุง ุฅูููุง.

ูุจูุฐุง ุงูู
ุนูู ุ ููุงู ุจููุฉ ุชุณู
ุญ ุจุชุฌูุจ ุฐูู - ุฅููุง ุจููุฉ ุจุตู ("ุจุตู"). ุงููุฑู ูู ุฃูู ูุชุฃูู ู
ู ุทุจูุงุช ู
ุชุญุฏุฉ ุงูู
ุฑูุฒ ุ ูุงูุชุจุนูุงุช ุชูุชูู ู
ู ุงูุฎุงุฑุฌ ุฅูู ุงูู
ุฑูุฒ. ุฃู ุฃู ุงูุทุจูุฉ ุงูุฎุงุฑุฌูุฉ ูู
ูู ุฃู ุชุนุชู
ุฏ ุนูู ุฃู ุทุจูุฉ ุฏุงุฎููุฉ ุ ููุง ูู
ูู ุฃู ุชุนุชู
ุฏ ุงูุทุจูุฉ ุงูุฏุงุฎููุฉ ุนูู ุงูุทุจูุฉ ุงูุฎุงุฑุฌูุฉ.
ุงูุทุจูุฉ ุงูุฎุงุฑุฌูุฉ ูู ูุงุฌูุฉ ุงูู
ุณุชุฎุฏู
ุจุงูู
ุนูู ุงูุดุงู
ู (ุฃู ุฃููุง ููุณุช ุจุงูุถุฑูุฑุฉ ูุงุฌูุฉ ู
ุณุชุฎุฏู
ุจุดุฑูุฉ ุ ูู
ูู ุฃู ุชููู ูุงุฌูุฉ ุจุฑู
ุฌุฉ ุชุทุจููุงุช REST ุฃู ุฃู ุดูุก). ูุงูุจููุฉ ุงูุชุญุชูุฉ ุ ูุงูุชู ุชุจุฏู ุจุดูู ุนุงู
ูู ุงูุบุงูุจ ู
ุซู I / O ุ ูู ููุณ ูุงุนุฏุฉ ุงูุจูุงูุงุช ุ ูู ุงููุงูุน ุ ุทุจูุฉ ุงูุจูุงูุงุช. ูู ูุฐู ุงูุฃุดูุงุก ูู ุงูุทุจูุฉ ุงูุฎุงุฑุฌูุฉ. ููุฐุง ูู ุ ุจุณุจุจ ุญุตูู ุงูุชุทุจูู ุจุทุฑููุฉ ู
ุง ุนูู ุจุนุถ ุงูุจูุงูุงุช ูุงูุฃูุงู
ุฑ ูู
ุง ุฅูู ุฐูู ุ ูุชู
ุฅุฎุฑุงุฌูุง ุ ูุชุชุฎูุต ุทุจูุฉ ุงูู
ุฌุงู ู
ู ุงูุงุนุชู
ุงุฏ ุนูู ูุฐู ุงูุฃุดูุงุก.
ุจุนุฏ ุฐูู ุชุฃุชู ุทุจูุฉ ุงูุชุทุจูู - ู
ูุถูุน ููู ุฅูู ุญุฏ ู
ุง ุ ูููู ูุฐู ูู ุงูุทุจูุฉ ุงูุชู ุชูุฌุฏ ุจูุง ุงูุจุฑุงู
ุฌ ุงููุตูุฉ ูุญุงูุงุช ุงูู
ุณุชุฎุฏู
. ุชุณุชุฎุฏู
ูุฐู ุงูุทุจูุฉ ุทุจูุฉ ุงูู
ุฌุงู ูุชุทุจูู ู
ูุงููู
ูุง.
ูู ุงููุณุท ูู ุทุจูุฉ ุงูู
ุฌุงู. ูู
ุง ูุฑู ุ ูู
ูุนุฏ ูุนุชู
ุฏ ุนูู ุฃู ุดูุก ุ ููุฏ ุฃุตุจุญ ุดูุฆูุง ูู ููุณู. ูููุฐุง ุงูุณุจุจ ุบุงูุจูุง ู
ุง ุชุณู
ู ุทุจูุฉ ุงูู
ุฌุงู ุจุงุณู
"Core" ุ ูุฃููุง ุงูุฃุณุงุณูุฉ ุ ููู ุชูู ุงูู
ูุฌูุฏุฉ ูู ุงููุณุท ุ ูุงูุชู ูุง ุชุนุชู
ุฏ ุนูู ุฃุดูุงุก ุงูุทุฑู ุงูุซุงูุซ.

ุฃุญุฏ ุงูุฎูุงุฑุงุช ูุชูููุฐ ููุฏุณุฉ ุงูุจุตู ูุฐู ูู ุงูุจููุฉ ุงูุณุฏุงุณูุฉ ุฃู "ุงูู
ูุงูุฐ ูุงูู
ุญููุงุช". ุฃุญุถุฑุช ูุฐู ุงูุตูุฑุฉ ููุชุฑููุจ ุ ููู ุฃุชุญุฏุซ ุนููุง. ูู ููุงูุฉ ุงูู
ูุดูุฑ ุ ููุฌุฏ ุฑุงุจุท ุฅูู ูุงุญุฏ ู
ู ู
ูููู ู
ูุงูุฉ ุญูู ูุฐู ุงูุจููุฉ ุ ูู
ููู ูุฑุงุกุชูุง.
ููููุง ุนู ุงูุฃูู
ุงุท ุงูุชูุชูููุฉ: ูุงุฌูุฉ ู
ููุตูุฉ
ูู
ุง ููุช ุ ุฃููุงู ุ ู
ุนุธู
ุงูุฃูู
ุงุท ุงูุชูุชูููุฉ ู
ุฃูููุฉ ูุฏู ุงูุฌู
ูุน ุ ูุซุงููุงู ุ ุงูููุทุฉ ุงูุฃุณุงุณูุฉ ูู ุชูุฑูุฑู ูู ุฃููุง ููุณุช ูู ุงูุฌููุฑ. ููููู ุฃุญุจ ูู
ุท Separated Interface ุนูู ุญุฏุฉ ุ ูุฃุฑูุฏ ุฃู ุฃุชุญุฏุซ ุนูู ุจุดูู ู
ููุตู.
ุฏุนูุง ูุนูุฏ ุฅูู ุฑู
ุฒ ุงูุฎุฏู
ุฉ ุงูู
ุตุบุฑุฉ ุงูุฎุงุตุฉ ุจูุง ููุฑู ู
ุง ุญุฏุซ ู
ุน ุงูู
ุณุชูุฏุน.

ุทุจูุฉ ุงูู
ุฌุงู ูุฏููุง ูุงุฌูุฉ
ู
ุณุชูุฏุน 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 ููุง ุ ูุณูููู ูู ุดูุก ู
ุญุฒููุง ุชู
ุงู
ูุง.
ู
ุนูู ูู
ุท ูุงุฌูุฉ ุงููุตู ูู ุฃู ูุงุฌูุฉ ุงูุฎุฏู
ุฉ ุงูุชู ูุณุชุฎุฏู
ูุง ูู ู
ูุทู ุงูู
ุฌุงู ูุชู
ุงูุฅุนูุงู ุนููุง ูู ุทุจูุฉ ุงูู
ุฌุงู. ูุญู ูุชุญุฏุซ ุนู ู
ุณุชูุฏุนุงุช ูุฎุฏู
ุงุช ู
ู
ุงุซูุฉ ูุง ุชููู ูููุง ุชูุงุตูู ุชูููุฐ ูุฐู ุงูุฎุฏู
ุงุช ู
ูุทููุง ุชุฌุงุฑููุง. ู
ูุทู ุงูุฃุนู
ุงู ูู ุญูููุฉ ูุฌูุฏ ูุฐู ุงูุฎุฏู
ุงุช ูุญูููุฉ ุงูุงุชุตุงู ุจูุง ูุงุณุชุฎุฏุงู
ูุง ูู ุทุจูุฉ ุงูู
ุฌุงู. ูุฐูู ุ ุชุธู ูุงุฌูุฉ ุงูู
ุณุชูุฏุน ูู ุทุจูุฉ ุงูู
ุฌุงู ุ ูููุชูู ุงูุชุทุจูู ุฅูู ุทุจูุฉ ุงูุจููุฉ ุงูุชุญุชูุฉ.
ุฃุนุฏุฏุช ุฎูุงุฑูุง ุขุฎุฑ. ุชุธู ูุงุฌูุฉ ุงูู
ุณุชูุฏุน ูู ุงูุชุฌู
ูุน Core ุ ููู ุงูุชูููุฐ ููุชูู ุฅูู 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 -. .
- marshinov . , DDD: , ยซ DDD, CQRS Event Sourcing ยป . , , .
- , AutoMapper MediatR. , Domain-Driven Design, .
- ยซF# for fun and profitยป , , F# Domain-Driven Design. , , , .
- , , .
, ,
GitHub .
DotNext:
, ยซ , ยป. DotNext ( 15-16 ) . , 1 , .