Calvin Candie
Вечный
Calvin Candie
Вечный
- 2 Сен 2018
- 55,181
- 12,556
Автор: Michael Plöd
Название: Практический Domain-Driven Design на примерах (2026)

Язык: английский
Если вы уже слышали про Domain-Driven Design, но на реальном проекте снова получаете запутанные сервисы, размытые границы и бизнес-логику, размазанную по контроллерам, эта книга поможет. Michael Plöd не пересказывает классику, а показывает DDD в работе: от первых разговоров с экспертами до готового кода на Java и Spring Boot.
Вся книга построена на одном сквозном кейсе из ипотечного кредитования. В этой области много правил, ролей, ограничений и взаимосвязанных систем, поэтому каждое решение проверяется на реальной сложности. Вы увидите, как перейти от расплывчатых требований к понятной модели, как разделить систему на контексты и почему одни границы микросервисов работают, а другие со временем превращаются в распределённый монолит.
Книга будет полезна, если вы проектируете корпоративные системы, ведёте команду или отвечаете за архитектуру и хотите, чтобы бизнес и разработчики наконец говорили на одном языке. Это рабочий справочник, к которому удобно возвращаться при проектировании нового сервиса.
«Практический Domain-Driven Design на примерах» — подробное практическое руководство по DDD. Оно помогает разобраться в стратегическом и тактическом проектировании сложных программных систем. Материал изложен доступно и опирается на реалистичный кейс по ипотечному кредитованию, поэтому читатель изучает не только теорию Domain-Driven Design, но и видит, как она применяется в реальных бизнес-сценариях.
В центре книги — практическое использование Domain-Driven Design при создании сложных корпоративных приложений. Автор объясняет, как определять границы предметной области, налаживать общение с бизнесом, строить модели и связывать архитектурные решения с настоящими потребностями продукта.
Отдельный акцент сделан на том, чтобы разработчики, архитекторы, аналитики и представители бизнеса понимали друг друга. Для этого подробно разбирается концепция Ubiquitous Language — единого языка, которым пользуются и команда, и эксперты предметной области.
Ключевые темы книги:
Главное достоинство книги — множество примеров и упражнений. Вместо абстрактных рассуждений читатель шаг за шагом разбирает сложный бизнес-кейс из сферы ипотечного кредитования. Так становится понятно, как DDD работает в проектах с большим количеством правил, ограничений, ролей, процессов и взаимодействующих систем.
По ходу книги показано, как постепенно уточнять модель предметной области, выделять значимые бизнес-события, определять границы контекстов и превращать знания экспертов в архитектурные и программные решения.
Методы работы со знаниями:
Несколько разделов посвящены техникам, которые помогают команде глубже разобраться в предметной области и выстроить продуктивное взаимодействие с бизнесом.
Event Storming:
Автор объясняет, как применять Event Storming для исследования бизнес-процессов через доменные события. Метод позволяет быстро выявить ключевые действия, участников, правила и слабые места системы.
Domain Storytelling:
Domain Storytelling представлен как способ визуально описывать бизнес-процессы через истории их участников. С его помощью сложная предметная область становится понятной разработчикам, аналитикам и экспертам.
User Story Mapping и Example Mapping:
Отдельно разобраны User Story Mapping и Example Mapping. Эти техники помогают структурировать требования, находить важные сценарии и превращать обсуждения с бизнесом в конкретные пользовательские истории и примеры поведения системы.
Стратегический Domain-Driven Design:
Подробно объясняется стратегический DDD: как анализировать предметную область, выделять поддомены и решать, где должны проходить границы моделей.
Элементы стратегического проектирования:
Тактическое проектирование и паттерны DDD:
Подробно разобраны ключевые паттерны тактического проектирования. Они помогают выразить бизнес-логику в коде и сделать модель понятнее, устойчивее и проще в сопровождении.
Основные паттерны:
Книга не ограничивается моделированием. В ней также описаны архитектурные подходы, которые отделяют доменную модель от технических деталей и делают приложение гибче.
Архитектурные подходы:
Автор показывает, что Domain-Driven Design — это не просто набор паттернов для кода, а способ организовать разработку. DDD хорошо сочетается с Agile, потому что модель постоянно уточняется благодаря обратной связи от экспертов и пользователей.
Также разобрана связь DDD с Continuous Delivery и DevOps. Правильно выделенные контексты и автономные модели упрощают поставку изменений, снижают зависимость команд друг от друга и ускоряют развитие продукта.
Реализация на Java и Spring Boot:
Отдельная часть книги посвящена реализации разобранного кейса на Java и Spring Boot. Это особенно ценно для разработчиков, которые хотят увидеть, как идеи DDD воплощаются в структуре проекта, классах, сервисах, репозиториях и взаимодействии слоёв приложения.
Практическая реализация связывает теоретические концепции с реальным кодом и помогает понять, какие решения принимать при проектировании корпоративных Java-приложений.
Кому подойдет книга:
Книга рассчитана на тех, кто хочет не просто выучить термины DDD, а применять Domain-Driven Design в реальных проектах. В ней собраны стратегическое моделирование, тактические паттерны, работа с бизнес-экспертами и практическая реализация на Java.
«Практический Domain-Driven Design на примерах» помогает навести порядок в хаотичной бизнес-логике и разрозненных требованиях. В результате получается понятная модель с чёткими границами ответственности и архитектура, построенная вокруг предметной области.
Для кого подойдёт:
Подробнее:
Скачать:
Название: Практический Domain-Driven Design на примерах (2026)

Язык: английский
Если вы уже слышали про Domain-Driven Design, но на реальном проекте снова получаете запутанные сервисы, размытые границы и бизнес-логику, размазанную по контроллерам, эта книга поможет. Michael Plöd не пересказывает классику, а показывает DDD в работе: от первых разговоров с экспертами до готового кода на Java и Spring Boot.
Вся книга построена на одном сквозном кейсе из ипотечного кредитования. В этой области много правил, ролей, ограничений и взаимосвязанных систем, поэтому каждое решение проверяется на реальной сложности. Вы увидите, как перейти от расплывчатых требований к понятной модели, как разделить систему на контексты и почему одни границы микросервисов работают, а другие со временем превращаются в распределённый монолит.
Книга будет полезна, если вы проектируете корпоративные системы, ведёте команду или отвечаете за архитектуру и хотите, чтобы бизнес и разработчики наконец говорили на одном языке. Это рабочий справочник, к которому удобно возвращаться при проектировании нового сервиса.
«Практический Domain-Driven Design на примерах» — подробное практическое руководство по DDD. Оно помогает разобраться в стратегическом и тактическом проектировании сложных программных систем. Материал изложен доступно и опирается на реалистичный кейс по ипотечному кредитованию, поэтому читатель изучает не только теорию Domain-Driven Design, но и видит, как она применяется в реальных бизнес-сценариях.
В центре книги — практическое использование Domain-Driven Design при создании сложных корпоративных приложений. Автор объясняет, как определять границы предметной области, налаживать общение с бизнесом, строить модели и связывать архитектурные решения с настоящими потребностями продукта.
Отдельный акцент сделан на том, чтобы разработчики, архитекторы, аналитики и представители бизнеса понимали друг друга. Для этого подробно разбирается концепция Ubiquitous Language — единого языка, которым пользуются и команда, и эксперты предметной области.
Ключевые темы книги:
- Основы Domain-Driven Design: принципы DDD, роль предметной области и бизнес-логики в проектировании.
- Работа с экспертами: способы выявления знаний, уточнения требований и формирования общей модели.
- Стратегическое проектирование: поддомены, ограниченные контексты, контекстные карты и границы моделей.
- Тактические паттерны DDD: Entity, Value Object, Aggregate, Domain Event, Service, Factory и Repository.
- Архитектурные подходы: гексагональная архитектура, «луковичная» архитектура и связь DDD с микросервисами.
- Практическая реализация: пример разработки кейса с использованием Java и Spring Boot.
Главное достоинство книги — множество примеров и упражнений. Вместо абстрактных рассуждений читатель шаг за шагом разбирает сложный бизнес-кейс из сферы ипотечного кредитования. Так становится понятно, как DDD работает в проектах с большим количеством правил, ограничений, ролей, процессов и взаимодействующих систем.
По ходу книги показано, как постепенно уточнять модель предметной области, выделять значимые бизнес-события, определять границы контекстов и превращать знания экспертов в архитектурные и программные решения.
Методы работы со знаниями:
Несколько разделов посвящены техникам, которые помогают команде глубже разобраться в предметной области и выстроить продуктивное взаимодействие с бизнесом.
Event Storming:
Автор объясняет, как применять Event Storming для исследования бизнес-процессов через доменные события. Метод позволяет быстро выявить ключевые действия, участников, правила и слабые места системы.
Domain Storytelling:
Domain Storytelling представлен как способ визуально описывать бизнес-процессы через истории их участников. С его помощью сложная предметная область становится понятной разработчикам, аналитикам и экспертам.
User Story Mapping и Example Mapping:
Отдельно разобраны User Story Mapping и Example Mapping. Эти техники помогают структурировать требования, находить важные сценарии и превращать обсуждения с бизнесом в конкретные пользовательские истории и примеры поведения системы.
Стратегический Domain-Driven Design:
Подробно объясняется стратегический DDD: как анализировать предметную область, выделять поддомены и решать, где должны проходить границы моделей.
Элементы стратегического проектирования:
- Предметная область и поддомены: как различать core domain, supporting subdomain и generic subdomain.
- Bounded Context: как определить область применимости модели и избежать смешивания разных смыслов.
- Context Map: как описывать отношения между системами, командами и моделями.
- DDD и микросервисы: как ограниченные контексты помогают проектировать границы сервисов.
Тактическое проектирование и паттерны DDD:
Подробно разобраны ключевые паттерны тактического проектирования. Они помогают выразить бизнес-логику в коде и сделать модель понятнее, устойчивее и проще в сопровождении.
Основные паттерны:
- Entity: объект с идентичностью и жизненным циклом.
- Value Object: неизменяемый объект, описывающий значение без собственной идентичности.
- Aggregate: граница согласованности и управления изменениями в модели.
- Domain Event: событие, отражающее значимый факт в предметной области.
- Domain Service: сервис для бизнес-операций, которые не принадлежат одной сущности или объекту-значению.
- Factory: паттерн для создания сложных доменных объектов.
- Repository: способ работы с сохранением и извлечением агрегатов без загрязнения доменной модели инфраструктурным кодом.
Книга не ограничивается моделированием. В ней также описаны архитектурные подходы, которые отделяют доменную модель от технических деталей и делают приложение гибче.
Архитектурные подходы:
- Гексагональная архитектура: разделение доменной логики, портов, адаптеров и внешних зависимостей.
- Луковичная архитектура: построение приложения вокруг доменного ядра.
- Связь с Clean Architecture: принципы зависимости от внутренних слоев и защиты бизнес-логики.
- Интеграция с микросервисами: использование DDD для проектирования независимых сервисов и командных границ.
Автор показывает, что Domain-Driven Design — это не просто набор паттернов для кода, а способ организовать разработку. DDD хорошо сочетается с Agile, потому что модель постоянно уточняется благодаря обратной связи от экспертов и пользователей.
Также разобрана связь DDD с Continuous Delivery и DevOps. Правильно выделенные контексты и автономные модели упрощают поставку изменений, снижают зависимость команд друг от друга и ускоряют развитие продукта.
Реализация на Java и Spring Boot:
Отдельная часть книги посвящена реализации разобранного кейса на Java и Spring Boot. Это особенно ценно для разработчиков, которые хотят увидеть, как идеи DDD воплощаются в структуре проекта, классах, сервисах, репозиториях и взаимодействии слоёв приложения.
Практическая реализация связывает теоретические концепции с реальным кодом и помогает понять, какие решения принимать при проектировании корпоративных Java-приложений.
Кому подойдет книга:
- Java-разработчикам, которые хотят проектировать более выразительные и поддерживаемые доменные модели.
- Backend-разработчикам, работающим со сложной бизнес-логикой и микросервисной архитектурой.
- Software Architect и Tech Lead, которым нужно определять границы систем, сервисов и команд.
- Системным и бизнес-аналитикам, участвующим в исследовании предметной области и формировании требований.
- Product Owner и менеджерам разработки, которые хотят улучшить взаимодействие между бизнесом и технической командой.
- Понимание принципов Domain-Driven Design и его роли в разработке сложных систем.
- Навык выделения поддоменов, ограниченных контекстов и контекстных карт.
- Умение применять Event Storming, Domain Storytelling, User Story Mapping и Example Mapping.
- Знание тактических паттернов DDD и понимание, когда их использовать.
- Представление о связи DDD с микросервисами, Agile, DevOps и Continuous Delivery.
- Практический пример реализации доменной модели на Java и Spring Boot.
Книга рассчитана на тех, кто хочет не просто выучить термины DDD, а применять Domain-Driven Design в реальных проектах. В ней собраны стратегическое моделирование, тактические паттерны, работа с бизнес-экспертами и практическая реализация на Java.
«Практический Domain-Driven Design на примерах» помогает навести порядок в хаотичной бизнес-логике и разрозненных требованиях. В результате получается понятная модель с чёткими границами ответственности и архитектура, построенная вокруг предметной области.
Для кого подойдёт:
- Разработчикам, которые знают теорию DDD, но не понимают, как применить её в рабочем проекте
- Командам, которые переходят с монолита на микросервисы и ищут правильные границы сервисов
- Архитекторам корпоративных систем со сложными бизнес-правилами, например в финтехе и кредитовании
- Аналитикам, которые проводят воркшопы с бизнесом и хотят освоить Event Storming и Domain Storytelling
- Тимлидам, которые хотят снизить связанность между командами и ускорить поставку изменений
- Сквозной разбор кейса ипотечного кредитования от исследования домена до кода
- Набор техник для совместного моделирования с экспертами предметной области
- Понятные критерии выбора границ ограниченных контекстов и микросервисов
- Наглядное применение тактических паттернов DDD в Java и Spring Boot
- Упражнения, на которых можно отработать подход перед использованием в своих проектах
Подробнее:
Скрытое содержимое доступно для зарегистрированных пользователей!
Скачать:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.