Влад Хононов

Что такое предметно-ориентированное проектирование?

Перевод в редакции
Тимура Фаизова и Софьи Должанской
Содержание
Для чтения кликните на заголовок раздела
Введение

Глава 1. Анализ предметных областей
Что такое предметная область?
Что такое предметная подобласть?
Типы подобластей
Основные предметные подобласти
Сложность и скорость изменений
Практические аспекты реализации
Сущность основных предметных подобластей
Обобщённые предметные подобласти
Практические аспекты реализации
Сложность и скорость изменений
Практические аспекты реализации
Кто такие эксперты предметной области?
Заключение

Глава 2. Изучение знаний о предметной области
Поиск знаний
Коммуникация
Что такое единый язык?
Язык бизнеса
Согласованность
Модель предметной области
Что такое модель?
Эффективное моделирование
Моделирование предметной области
Постоянная работа
Заключение

Глава 3. Управление сложностью при помощи ограниченного контекста
Несогласованные модели
Что такое ограниченные контекст?
Ограниченный контекст
Границы модели
Объем ограниченного контекста
Ограниченные контексты против предметных областей
Предметные подобласти
Ограниченные контексты
Взаимодействие между предметными подобластями и ограниченными контекстами
Физические границы
Границы владения
Заключение

Глава 4. Сопоставление контекстов
Сотрудничество
Партнёрство
Общее ядро
Одна команда владеет несколькими ограниченными контекстами
Заказчик-поставщик
Конформизм
Паттерн предохранительного уровня
Сервис с открытым протоколом
Раздельные пути
Проблемы коммуникации
Универсальная подобласть
Различия моделей
Когда избегать
Карта контекста
Заключение

Глава 5. Паттерны реализации бизнес-логики
Транзакционный сценарий
Активная запись
Модель предметной области
Реализация
Сложность
Единый язык
Строительные блоки
Объект-значение
Реализация
Агрегат
Согласованность
Граница транзакции
Иерархия объектов
Ссылка на другие агрегаты
Корень агрегата
События предметной области
Другие строительные блоки
Модель предметной области, основанная на событиях
Источник событий
Источник истины
Преимущества
Заключение

Глава 6. Архитектурные паттерны
Паттерн многослойной архитектуры
Варианты использования
Порты и адаптеры
Интеграция инфраструктурных компонентов
Варианты использования
Разделение ответственности на команды и запросы (cqrs)
Многовариантное моделирование
Проекция моделей чтения
Трудности
Расслоение моделей
Варианты использования
Заключение

Глава 7. Интеграция ограниченных контекстов
Партнёрство и общее ядро
Предохранительный уровень
Сервис с открытым протоколом
Событие предметной области

Глава 8. Event Storming
Кому нужно принимать участие?
Что нужно?
Пространство для моделирования
Стикеры
Маркеры
Перекус
Пространство
Процесс
Этап 1: Произвольное исследование
Этап 2: Временные линии
Этап 3: Команды
Этап 4: Правила
Этап 5: Внешние системы
Этап 6: Агрегаты
Этап 7: Ограниченные контексты
Заключение

Глава 9. Эволюционное проектирование
Изменения в предметных подобластях
От основной к обобщённой
От обобщённой к основной
От поддерживающей к основной
Проблемы тактического проектирования
Организационные изменения
Знание о предметной области
Заключение

Глава 10. Начало работы с предметно-ориентированным проектированием
Единый язык
Предметная область
Карта контекстов
Ограниченные контексты
Процесс моделирования событий
Тактические паттерны
Объекты-значения
Границы транзакций
Модель предметной области, основанная на событиях
Заключение