Domain Driven Design
Предметно-ориентированное проектирование (DDD) предлагает общий подход к обеспечению большей гибкости и модифицируемости программных систем на основе более тщательного исследования предметной области и отражения ее структуры в разрабатываемой системе. Участники курса узнают, какие инструменты и практики DDD помогают в построении корпоративных систем со сложной бизнес-логикой и применят стратегические паттерны для декомпозиции предметной области, для разрабатываемой системы. Для дальнейшего проектирования и реализации выделенных в результате декомпозиции компонентов, “ограниченных контекстов” в терминологии DDD, используем тактические паттерны DDD, в первую очередь Агрегаты. В основе материалов курса лежат реальные примеры разработанных систем.
24 ак.ч.
Онлайн
ARC-003
Domain Driven Design
Записаться на курс
Длительность
24 ак.ч.
Локация
Онлайн
Код
ARC-003
Расписание и цены
19.06.2024 - 04.07.2024
12.08.2024 - 23.08.2024
46 900 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей
Domain Driven Design
Записаться на курс
Длительность
24 ак.ч.
Локация
Онлайн
Код
ARC-003
Расписание и цены
19.06.2024 - 04.07.2024
12.08.2024 - 23.08.2024
46 900 руб.
* Для физических лиц действует скидка 10% Закажите корпоративное обучение с учетом ваших потребностей

Описание

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

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

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

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

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

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

Цели

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

Целевая аудитория

Разработчики разных уровней (от Junior до Senior), которые обладают знаниями ООП и ООД принципов, а также базовыми знаниями архитектурных паттернов.

Разбираемые темы

  • 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 ч.)

    • Полезные шаблоны тактического дизайна 
    • Объекты значения и шаблоны на их основе
    • Сущности
    • Агрегаты 
    • Сервисы 
    • Фабрики 
    • Репозитории
  • Всего: теория – 16 ч. (67%), практика – 8 ч. (33%)

  • Развернуть программу
Раcписание курсов
Вид:
19.06.2024 - 04.07.2024
8:00-10:00
Локация:Онлайн
Длительность:24 ак.ч.
Время:8:00-10:00
Тренер: Похунов Никита
Тренер Похунов Никита
46 900 руб.
Записаться
12.08.2024 - 23.08.2024
10:00-13:00
Локация:Онлайн
Длительность:24 ак.ч.
Время:10:00-13:00
46 900 руб.
Записаться
Смотреть полное расписание
Тренеры
Лавыш Александр
Эксперт в области разработки и архитектуры ПО

Александр – эксперт с практическим опытом более 14 лет. За свою карьеру он успешно реализовал проекты в ведущих российских и мировых IT-компаниях.

О проектах:

В рамках проектов Александр занимался разработкой клиентских (Web и Desktop) и серверных приложений (SOA, MSA, Mono), разработкой архитектурных IT-систем, настройкой рабочих и IT процессов, анализом и оптимизацией проектов по сложности и стоимости.

Также Александр занимался разработка IT-стратегий для клиентов и утверждением архитектурных стандартов для приложений, участвовал в разработке бизнес-архитектуры.

Текущая сфера интересов - разработка распределенных систем с ограниченным уровнем доверия.

Курсы, сертификаты, членство в профессиональных организациях:

  • ICAgile Certified Professional

  • MongoDB M220 JavaScript

  • MongoDB M220 Java

Отзывы (6)
Отличный тренинг! Очень крутые вещи рассказаны максимально просто. На практических занятиях отработали сложные моменты. После тренинга просто хочется максимально DDD внедрить в проект.
Участник тренинга
Тренинг понравился, структурировал мои теоретические знания по данной теме. Также приобрел практические знания. Особенно понравились дискусии по данной теме.
Участник тренинга
Очень понравился тренер Максим Кичук, который рассказывал о наглядных примерах из своего опыта работы. Понравилось, что помимо теории есть практика, которая потом обсуждается с тренером. У курса хорошие структурирование материала и практические задания на применение Event Sourcing.
Участник тренинга
Понравилась связь между практиками и лекциями, их объём и рекомендации от тренера. Было много интересных практических заданий, полезная обратная связь. Курс хороший, хотелось бы иметь возможность просмотра записей курса.
Участник тренинга
Для меня была новой вся парадигма проектирования, ориентированная на предметную область, поэтому курс оказался очень полезным! Материал представлен в доступных для разных уровней слушателей изложении. Преподавать очень развернуто отвечает на вопросы, связанные с применением кода.
Участник тренинга
Хороший тренинг на очень интересную тему. Понравились практические упражнения и то, что было много материалов по теории, которые можно использовать в работе. Классно, что есть возможность пообщаться с лектором и получить компетентные ответы на свои вопросы, но хотелось бы больше примеров.
Участник тренинга
Показать все отзывы
Связанные курсы
Архитектура в Agile-проектах
Данный курс знакомит слушателей с основными архитектурными практиками в контексте Agile. Каким образом концепции Agile и архитектурные практики дополняют друг друга, к чему могут приводить перекосы в ту или иную сторону и как практически можно и нужно адаптировать работу архитектора в Agile-проектах.
Микросервисная архитектура
Данный курс знакомит слушателей с основными концепциями микросервисной архитектуры (МСА). Вводится понятие микросервисной архитектуры, рассматривается её связь с «традиционными» методиками построения системы. Даются шаблоны микросервисной архитектуры, направленные на обеспечение качества разрабатываемой системы. Подробно рассматриваются вопросы развертывания и методы обеспечения значимых качеств МСА.
Онлайн:
21.08.2024 - 30.08.2024
Онлайн:
10.09.2024 - 26.09.2024
Смотреть каталог
Ваши преимущества
Экспертность
Тренеры-эксперты из реальных проектов крупнейших компаний, лидеров в своей отрасли
Живое обучение
“Живая” коммуникация с тренером даже в онлайн-формате
Практика
Максимально наполненные практикой занятия, работа в группах, выполнение домашних заданий
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.