CourseHunter
  • Категории
  • Источники
  • Все курсы
  • Разделы
  • Книги
English
Русский
Українська
Голубая
Фиолетовая
Cветлая
Терминал
Norton
Войти
🍁 Стартуем осенний сезон!со скидкой 50% по промокоду— активируйна странице пакетов
Главная страницаКатегория другоеПрактический Domain-Driven Design на примерах

Практический Domain-Driven Design на примерах

Hands-on Domain-driven Design - by example

Michael Plöd logo
Michael Plöd
★5 (всего оценок - 1)
Практический Domain-Driven Design на примерах
Начать Сейчас
Категория
Другое
Дата добавления
12 сент. 2026 г., 01:00
Язык
Английский

«Практический 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: способ работы с сохранением и извлечением агрегатов без загрязнения доменной модели инфраструктурным кодом.

Архитектура приложений с DDD

Материал не ограничивается моделированием. В книге также рассматриваются архитектурные подходы, которые помогают изолировать доменную модель от технических деталей и сделать приложение более гибким.

  • Гексагональная архитектура: разделение доменной логики, портов, адаптеров и внешних зависимостей.
  • Луковичная архитектура: построение приложения вокруг доменного ядра.
  • Связь с Clean Architecture: принципы зависимости от внутренних слоев и защиты бизнес-логики.
  • Интеграция с микросервисами: использование DDD для проектирования независимых сервисов и командных границ.

Связь DDD с Agile, DevOps и Continuous Delivery

Книга показывает, что Domain-Driven Design — это не только набор паттернов для кода, но и подход к организации разработки. DDD хорошо сочетается с Agile, поскольку помогает постоянно уточнять модель через обратную связь с экспертами и пользователями.

Также рассматривается связь с 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.

Почему стоит изучить «Практический Domain-Driven Design на примерах»

Эта книга подойдет тем, кто хочет не просто познакомиться с терминологией DDD, а научиться применять Domain-Driven Design в реальных проектах. Она объединяет стратегическое моделирование, тактические паттерны, работу с бизнес-экспертами и практическую реализацию на Java.

«Практический Domain-Driven Design на примерах» помогает перейти от хаотичной бизнес-логики и разрозненных требований к понятной модели, четким границам ответственности и архитектуре, ориентированной на предметную область.

Автор - Michael Plöd

Michael Plöd logo

Michael Plöd

Майкл — ведущий эксперт компании innoQ в Германии, практик Domain-Driven Design (DDD) с 2005 года и специалист с более чем 15-летним опытом практического консалтинга. Идея написать книгу о DDD возникла у него благодаря регулярным тренингам и обучению специалистов в этой области.Майкл также регулярно выступает на национальных и международных конференциях и является обладателем наград за свои выступления.В свободное время он увлекается фотографией,

LinkedInGitHub
Автор

Другие материалы в этой категории

Domain Driven Design и Clean Architecture на языке Go

Domain Driven Design и Clean Architecture на языке Go

Основы Domain Driven Design

Основы Domain Driven Design

Domain Driven Design (DDD) для начинающих

Domain Driven Design (DDD) для начинающих

Domain Driven Design: Курс по Архитектуре ПО

Domain Driven Design: Курс по Архитектуре ПО

Domain Driven Design и Микросервисы для Архитекторов

Domain Driven Design и Микросервисы для Архитекторов

Микросервисы в Spring под капотом c использованием Domain Driven Design

Микросервисы в Spring под капотом c использованием Domain Driven Design

Комментарии
 logo
  • dyowee logo
    dyowee
    12 сент. 2026 г., 00:04
    This book hasn't been updated and probably won't be completed anymore by the author :(
КонтактыРаспространенные вопросыПлейлистыПриватностьУсловия