Писать программы легко - во всяком случае с нуля. Но изменить однажды написанный программный код, который создали другие разработчики или вы сами каких-то шесть лет тому назад, - гораздо сложнее. Программа работает, но вы не знаете точно, как именно. Даже обращение к экспертам в предметной области ничего не дает, поскольку в коде не сохранилось никаких следов привычного для них языка. Предметно-ориентированное проектирование (Domain-Driven Design, DDD) - это процесс тесной увязки программного кода с реалиями предметной области. Благодаря ему добавление в программный продукт новых возможностей по мере его развития становится таким же простым, как и при создании программы с нуля. Эта книга в полной мере соответствует философии DDD и позволяет разработчикам перейти от философских рассуждений к решению практических задач. Она делится на четыре части: часть I посвящена философии, принципам и приемам предметно-ориентированного проектирования; в части II подробно обсуждаются стратегические шаблоны интеграции ограниченных контекстов; часть III охватывает тактические шаблоны создания эффективных моделей предметной области; часть IV в деталях описывает шаблоны проектирования, которые позволяют извлекать пользу из модели предметной области и создавать эффективные приложения.
Pisat programmy legko - vo vsjakom sluchae s nulja. No izmenit odnazhdy napisannyj programmnyj kod, kotoryj sozdali drugie razrabotchiki ili vy sami kakikh-to shest let tomu nazad, - gorazdo slozhnee. Programma rabotaet, no vy ne znaete tochno, kak imenno. Dazhe obraschenie k ekspertam v predmetnoj oblasti nichego ne daet, poskolku v kode ne sokhranilos nikakikh sledov privychnogo dlja nikh jazyka. Predmetno-orientirovannoe proektirovanie (Domain-Driven Design, DDD) - eto protsess tesnoj uvjazki programmnogo koda s realijami predmetnoj oblasti. Blagodarja emu dobavlenie v programmnyj produkt novykh vozmozhnostej po mere ego razvitija stanovitsja takim zhe prostym, kak i pri sozdanii programmy s nulja. Eta kniga v polnoj mere sootvetstvuet filosofii DDD i pozvoljaet razrabotchikam perejti ot filosofskikh rassuzhdenij k resheniju prakticheskikh zadach. Ona delitsja na chetyre chasti: chast I posvjaschena filosofii, printsipam i priemam predmetno-orientirovannogo proektirovanija; v chasti II podrobno obsuzhdajutsja strategicheskie shablony integratsii ogranichennykh kontekstov; chast III okhvatyvaet takticheskie shablony sozdanija effektivnykh modelej predmetnoj oblasti; chast IV v detaljakh opisyvaet shablony proektirovanija, kotorye pozvoljajut izvlekat polzu iz modeli predmetnoj oblasti i sozdavat effektivnye prilozhenija.