Предметно-ориентированное проектирование: паттерны, принципы и методы
✍️ Авторы: Скотт Миллетт, Ник Тьюн
🗓 Год: 2017
🔤 Язык: русский
📚 Объём832
🔍
Обзор книги:
Разработка программного обеспечения часто требует не просто создания кода, а построения решения, которое органично вписывается в бизнес-контекст. Предметно-ориентированное проектирование (Domain-Driven Design, DDD) — это методология, которая помогает достичь этого. Книга Скотта Миллетта и Ника Тьюна — это практическое руководство по DDD, которое можно рассматривать как продолжение классических работ Эрика Эванса и Вернона, но с акцентом на конкретные инструменты и подходы.
Если книга Эванса заложила фундамент и познакомила нас с основными концепциями, то Миллетт и Тьюн идут дальше, предлагая методы, которые помогут интегрировать DDD в повседневную работу. Это руководство полезно не только для разработчиков, но и для системных аналитиков, которым важно понимать, как выстроить архитектуру системы, чтобы она оставалась управляемой и соответствовала бизнес-целям.
Основные темы книги:
1.
Стратегические и тактические шаблоны DDD: Разделение на стратегический уровень, который помогает структурировать предметную область, и тактический, где рассматриваются конкретные методы реализации.
2.
Пространство задачи и пространства решений: Подходы к анализу и структурированию бизнес-задач, что позволяет лучше понять, как правильно выстроить архитектуру системы.
3.
Архитектура, основанная на модели: Рассмотрены способы построения системы на основе модели предметной области, что помогает сохранить целостность и согласованность бизнес-логики.
4.
Ограниченные контексты и карты контекстов: Эта концепция помогает разделить систему на независимые области, что снижает сложность и предотвращает конфликты между моделями.
5.
Тактические шаблоны проектирования: Подробное описание шаблонов, таких как сущности, объекты-значения, службы и агрегаты, которые помогут структурировать данные и логику.
6.
Интеграция контекстов: Методы интеграции различных контекстов через обмен сообщениями и REST, что важно для создания гибких и масштабируемых систем.
7.
Управление жизненным циклом объектов: Практические решения для управления жизненным циклом объектов, что позволяет поддерживать качество системы на высоком уровне.
8.
Реактивные системы и CQRS: Рассмотрены современные подходы к построению распределенных систем с использованием CQRS и регистрации событий.
9.
Внедрение DDD на практике: Советы по внедрению методологии DDD в реальных проектах, включая преодоление возможных трудностей.
Отличие от классики:
В отличие от работ Эрика Эванса, которые сосредоточены на теоретических аспектах DDD, книга Миллетта и Тьюна ориентирована на практическое применение. Она предлагает конкретные шаги и примеры для внедрения DDD в реальных проектах, что делает ее полезной не только для разработчиков, но и для системных аналитиков, которым важно знать, как реализовать бизнес-требования в программном обеспечении.
Для кого эта книга:
Эта книга будет полезна системным аналитикам, которые стремятся глубже понять, как связать бизнес-требования с техническими решениями. Она дает инструменты, которые помогут эффективнее взаимодействовать с разработчиками и строить системы, способные адаптироваться к изменениям.
—
Классика по DDD:
1. 📘
Эрик Эванс. Предметно-ориентированное проектирование
2. 📕
Вон Вернон. Реализация методов предметно ориентированного проектирования
3. 📗
Вон Вернон. Предметно-ориентированное проектирование. Самое основное
#проектирование #DDD