[IBS] Domain Driven Design

Огромная база актуальных инфопродуктов
Самый большой склад обучающих материалов в СНГ. Более 40000 уникальных курсов, схем заработка, книг, вебинаров, мануалов, тренингов
Получить доступ

Bot

Администратор
Команда форума
23 Янв 2020
138,643
749
113
Описание

Чем теснее связь между разработкой программного обеспечения и его бизнес-стратегией, тем проще будет поддерживать и развивать систему для удовлетворения будущих потребностей бизнеса, что в конечном итоге приведет к более успешным проектам программного обеспечения.

Применение предметно-ориентированного проектирования (DDD) позволяет снизить риск неудач в программных проектах за счет выстраивания более эффективной коммуникации между бизнес-заказчиком и командой разработки.

Практики DDD делятся на две группы: стратегическую и тактическую.

Стратегические инструменты DDD используются для нахождения общего языка и целей разрабатываемой системы. На основе открытых общих целей, принимаются архитектурные решения высокого уровня: декомпозиции систем на компоненты и определения способов их интеграции на основе выстраивания общего понимания, как разрабатываемая система будет обеспечивать удовлетворение потребностей бизнеса.

Тактические паттерны DDD позволяют нам писать код таким образом, чтобы он отражал предметную область, отвечал ее целям и говорил на языке бизнеса.

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

Цели

После обучения участники будут:

  • Понимать, как инструменты DDD помогают реализовать сложные программные системы;
  • Уметь применять стратегические практики DDD для декомпозиции систем;
  • Уметь применять тактические паттерны DDD в рамках отдельного ограниченного контекста;
  • Уметь эффективно моделировать Агрегаты;
  • Использовать Доменные События для интеграции ограниченных контекстов.
Разбираемые темы

Спойлер: 1. Обзор DDD (теория – 1 ч.)
Обзор DDD (теория – 1 ч.)

Спойлер: 2. Необходимые предварительные знания (теория – 2 ч.)
  • Доменные эксперты
  • Функциональные и нефункциональные требования, атрибуты качества
  • Шаблоны реализации доменной логики
  • Связь DDD & Agile
Спойлер: 3. Инструменты DDD (теория – 5 ч. + практика – 5 ч.)
  • Общий язык
  • Роль историй в понимании домена
  • Event Storming
  • Domain Whirlpool
  • Разбиение на домены
  • Impact mapping
  • User story mapping
  • Quality Attribute Workshop
Спойлер: 4. Стратегическое проектирование (теория – 2,5 ч. + практика – 1 ч.)
  • Типы поддоменов и разбиение
  • Ограниченные контексты
  • Контекстные карты и шаблоны
  • Топология команд
Спойлер: 5. Архитектурные аспекты DDD (теория – 1,5 ч.)
[*]Анемичный домен и причины
[*]Работа с «устаревшими системами»
[*]Интеграция контекстов
[*]Типы сообщений и коммуникация между поддоменами

Спойлер: 6. Тактическое проектирование (теория – 4 ч. + практика – 2 ч.)
  • Полезные шаблоны тактического дизайна
  • Объекты значения и шаблоны на их основе
  • Сущности
  • Агрегаты
  • Сервисы
  • Фабрики
  • Репозитории

Скрытый контент.