Domain Driven Design
Предметно-ориентированное проектирование (DDD) предлагает общий подход к обеспечению большей гибкости и модифицируемости программных систем на основе более тщательного исследования предметной области и отражения ее структуры в разрабатываемой системе. Участники курса узнают, как DDD помогает в построении корпоративных систем со сложной бизнес-логикой и применят стратегические паттерны для декомпозиции сначала предметной области, а затем разрабатываемой системы. Для дальнейшего проектирования и реализации выделенных в результате декомпозиции компонентов, “ограниченных контекстов” в терминологии DDD, используем тактические паттерны DDD, в первую очередь Агрегаты. Рассматриваются разные варианты архитектуры, в том числе многослойная, шестиугольная (гексагональная), сервисно-ориентированная (SOA), событийная (EDA), CQRS, Event Sourcing. В основе материалов курса лежат реальные примеры разработанных систем.
24 ак.ч.
Онлайн
ARC-003
Domain Driven Design
Записаться на курс
Длительность
24 ак.ч.
Локация
Онлайн
Код
ARC-003
Расписание и цены
42 900 руб.
Планируете обучить команду из 7-8 или более человек?
Закажите корпоративное обучение с учетом ваших потребностей
Domain Driven Design
Записаться на курс
Длительность
24 ак.ч.
Локация
Онлайн
Код
ARC-003
Расписание и цены
42 900 руб.
Планируете обучить команду из 7-8 или более человек?
Закажите корпоративное обучение с учетом ваших потребностей

Описание

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

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

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

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

Цели

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

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

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

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

  • Модуль 1. Обзор DDD. Единый язык.

    • Принципы объектно-ориентированного проектирования и программирования.
    • Архитектурные паттерны для бизнес-логики.
  • Модуль 2. Необходимые предварительные знания.

    • Принципы объектно-ориентированного проектирования и программирования.
    • Архитектурные паттерны для бизнес-логики.
  • Модуль 3. Стратегическое проектирование.

    • Домены, поддомены.
    • Ограниченные контексты.
    • Отображения контекстов.
  • Практика 1. Стратегическое проектирование.

  • Модуль 4. Архитектурное представление DDD.

    • Многослойная и шестиугольная архитектура.
    • Сервисно-ориентированная архитектура.
    • Событийная архитектура.
    • CQRS.
    • Event Sourcing.
  • Практика 2. Архитектурное представление DDD.

  • Модуль 5. Тактические инструменты DDD, часть 1.

    • Сущности.
    • Объекты-значения.
    • Агрегаты.
    • Фабрики.
  • Модуль 6. Тактические инструменты DDD, часть 2.

    Сервисы.
    События.
    Модули.
    Хранилища.
  • Практика 3. Тактические паттерны.

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