Сообщество разработчиков программного обеспечения широко признает, что моделирование предметной области занимает центральное место в разработке программного обеспечения. С помощью моделей предметной области разработчики программного обеспечения могут выражать богатые функциональные возможности и преобразовывать их в программную реализацию, которая действительно удовлетворяет потребности пользователей. Но, несмотря на его очевидную важность, практических ресурсов, объясняющих, как включить эффективное моделирование предметной области в процесс разработки программного обеспечения, немного.
Дизайн, ориентированный на предметную область
, удовлетворяет эту потребность. Это не книга о конкретных технологиях. Он предлагает читателям системный подход к предметно-ориентированному проектированию, представляя обширный набор передовых методов проектирования, основанных на опыте методов и фундаментальных принципов, которые облегчают разработку программных проектов, ориентированных на сложные предметные области. Эта книга, переплетающая практику проектирования и разработки, включает многочисленные примеры, основанные на реальных проектах, чтобы проиллюстрировать применение проектирования, ориентированного на предметную область, в реальной разработке программного обеспечения.
Читатели узнают, как использовать модель предметной области для создания сложного усилия по развитию более целенаправленными и динамичными. Ядро лучших практик и стандартных шаблонов обеспечивает общий язык для команды разработчиков. Смещение акцента — рефакторинг не только кода, но и модели, лежащей в основе кода, — в сочетании с частыми итерациями Agile-разработки приводит к более глубокому пониманию предметных областей и улучшению связи между экспертом в предметной области и программистом.
Domain-Driven Design
затем строится на этом фундаменте и занимается моделированием и проектированием сложных систем и крупных организаций. чтобы члены команды говорили на одном языке
Более тесная связь между моделью и реализацией
Уточнение ключевых различий в модели
Управление жизненным циклом предметной области
Написание кода предметной области, который можно безопасно комбинировать сложными способами
Сделать сложный код очевидным и предсказуемым
Формулировать заявление о концепции предметной области
Выделение ядра сложной области
Выявление неявных понятий, необходимых в модели
Применение шаблонов анализа
Связывание шаблонов проектирования с моделью
Поддержание целостность модели в большой системе
Работа с сосуществующими моделями в одном проекте
Организация систем с крупномасштабными структурами
Распознавание прорывов в моделировании и реагирование на них
p>
С этой книгой разработчики объектно-ориентированных программ, системные аналитики и проектировщики получат руководство, необходимое им для организации и фокусировки своей работы, создания многофункциональных и полезных моделей предметной области и использования этих моделей для создания качественных, долговременных долгосрочные реализации программного обеспечения.