Научитесь создавать легко поддерживаемые приложения с чёткой структурой, где бизнес-логика остаётся независимой от инфраструктурных деталей

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

Разработаете сервис с применением DDD и Clean Architecture
Реальный кейс
Научитесь разбивать приложение на слои, кодировать Domain Model
Добавите в свое портфолио проект, которым можно гордиться
Создадите сервис, который легко адаптировать под ваши задачи
Кирилл Ветчинкин
Автор курса, опыт применения DDD с 2019 года.
Применял DDD в компаниях из разных сфер: Мегафон, БКС Брокер, СберМаркет, Купер
Портфолио
Практика
Шаблон
Онлайн
Старт 26 февраля
6 недель

Junior и Middle
разработчикам

Курс поможет заложить правильные принципы и подходы, чтобы избежать распространённых ошибок на начальных этапах карьеры, что создаст фундамент для эффективного роста в будущем.

Senior разработчикам

Научитесь применять сложные аспекты DDD, такие как агрегаты, доменные события и репозитории. Сможете интегрировать DDD с другими подходами: MSA, CQS и Clean Architecture.
2

TeamLead,
CTO

Курс поможет вашей команде выстроить архитектурно грамотные и гибкие решения. Примеры сервисов из курса станут универсальными шаблонами, которые вы сможете взять за основу в вашей компании.
3
1
Кому подойдёт этот курс
Курс помог мне понять, как организовать код так, чтобы он был модульным, понятным и легко поддерживаемым

“Наш код был сложным и непонятным”

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

“В команде все видят DDD по-разному”

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

“Когда бизнес менял требования —
все разваливалось”

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

“Тесты были слишком сложными”

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

“Не понимал, как выделять доменную модель и её компоненты”

Агрегаты, value objects, доменные события — всё это было для меня абстрактными понятиями.

“Накопилось много теории, но в голове был хаос”

До курса я прочитал книги по DDD, статьи, смотрел выступления, но всё это оставалось разрозненным.
Не знал, как начать применять эти знания на практике.
На курсе нам показали, как работать с реальными проектами: строить доменную модель, разделять слои, кодировать сущности
С какими проблемами приходят на курс?

“Накопилось много теории, но в голове был хаос”

“Наш код был сложным и непонятным”

Реализуем HTTP, gRPC и Kafka адаптеры

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

Напишем много
тестов

Научитесь писать простые и понятные модульные и интеграционные тесты, покрывая бизнес-логику и инфраструктуру.
Заберете с собой навсегда

Разберем все тактические паттерны DDD

Научитесь выделять Value Object, проектировать Entity и реализовывать Aggregate, избегая популярных ошибок.

Создадим полноценный микросервис

Освоите Clean Architecture, включая применение Hexagonal и Onion подходов, а также научитесь выстраивать четкую структуру слоев в микросервисах.
После прохождения курса вы сможете

Реализуем Use Case и
Domain Service

Освоите работу с Domain Service, примените CQS подход, а также реализуете команды и медиаторы, связывая их с Use Case.

Знания DDD может повысить вашу ценность как специалиста

Многие компании ищут разработчиков, умеющих работать с этим подходом
Выберите подходящий тариф и запишитесь на курс
Востребованность и зарплаты:
Около 2000 актуальных вакансий в РФ
Senior-специалист
с опытом более 3 лет
350 000+ ₽
Middle-специалист
с опытом от 1 до 3 лет
250 000+ ₽
100 000+ ₽
Junior-специалист
с опытом от 1 года
Кодировать Aggregate, Value Object, Entity
Делать интеграции по
gRPC, HTTP, Kafka
Правильно применять паттерн Repository и Adapter
Писать тесты, которые легко поддерживать
Обеспечивать согласованность
событий
Выстраивать архитектуру приложения с нуля
Публиковать Domain Event и передавать их по Kafka
Ваше резюме будет выделяться проектом, который демонстрирует ваше глубокое понимание архитектуры ПО

Проект в портфолио или резюме

Итоговый проект станет универсальными шаблоном, который вы сможете взять за основу в вашей компании

Готовый шаблон микросервиса

Обосновывать применение
DDD в команде
Обучение проходит через практику на кейсе

Видеуроки

На них эксперт шаг за шагом создаст микросервис "Корзина", раскрывая ключевые паттерны DDD и объясняя, как избежать ошибок. Смотрите лекции в любое время.

Чат с экспертом

В закрытом чате эксперт лично ответит на ваши вопросы.
Без ответов вы точно не останетесь.

Практика на реальном кейсе

На курсе вы разработаете сервис “Диспетчеризации заказов”, решая реальные задачи бизнеса.

Персональная обратная связь

Куратор проведет ревью кода, даст подробную обратную связь и поможет разобраться со сложными моментами

Вебинары

На вебинарах эксперт разберет домашние задания и сложные темы, даст ответы на ваши вопросы.
Это идеальный шанс понять материал глубже.
6 недель обучения
12 заданий на кодирование
80% курса — практика
Регулярно обнобляем курс
Программа курса
Содержание
Практика
Урок 1: Dependency Inversion Principle
Урок 2: Отличие Hexagonal / Onion / Clean архитектуры
Урок 3: Роль слоев приложения
Урок 4: Реализация структуры микросервиса в соответствии с Clean Architecture
ДЗ: Определить слои приложения в соответствии с Clean Architecture
Содержание
Практика
Урок 1: Способы реализации Application Core
Урок 2: Domain Layer
Урок 3: Анемичная и богатая Domain Model
Урок 4: Реализация Value Object (объект значения)
ДЗ: Реализовать Value Object «Location» в соответствии с бизнес-правилами
Содержание
Практика
Урок 1: Реализация Entity (сущность)
Урок 2: Признаки Entity
Урок 3: Инварианты
Урок 4: Хранение в БД
ДЗ: Реализовать Value Object “Location” в соответствии с бизнес-правилами
Содержание
Практика
Урок 1: Реализация Aggregate (агрегат)
Урок 2: Строгая согласованность
Урок 3: Ловушка «Реального мира»
Урок 4: Размер агрегата
ДЗ: Реализовать Aggregate «Courier» в соответствии с бизнес-правилами
Содержание
Практика
Урок 1: Реализация Domain Service (сервис предметной области)
Урок 2: Смысл и назначение
Урок 3: Отличие от Application Service
Урок 4: Популярные ошибки реализации
ДЗ: Реализовать в Domain Service алгоритм диспетчеризации заказов
Содержание
Практика
Урок 1: Создание БД с помощью Goose
Урок 2: Основные ошибки при реализации Repository
Урок 3: Пример реализации
Урок 4: Покрытие логики Integration тестами
ДЗ: Реализовать Repository для Aggregate «Order» и «Courier»
Содержание
Практика
Урок 1: Чем плох Application Service
Урок 2: Паттерн "Command" и "Mediator"
Урок 3: CQS подход
Урок 4: Пример реализации
ДЗ: Реализовать все Use Case приложения, применить CQS
Содержание
Практика
Урок 1: Contract-first подход
Урок 2: Проектирование REST API методов с помощью Swagger Open API
Урок 3: Связь HTTP Handler и Use Case
Урок 4: Генерация HTTP Server из контракта
ДЗ: Реализовать все Use Case приложения, применить CQS
Содержание
Практика
Урок 1: Знакомство с gRPC и Protobuf
Урок 2: Формирование контракта в Protobuf
Урок 3: Из какого слоя делать внешние вызовы
Урок 4: Пример реализации gRPC Client
ДЗ: Реализовать исходящий адаптер. Сгенерировать gRPC Client из Protobuf
Содержание
Практика
Урок 1: Знакомство с gRPC и Protobuf
Урок 2: Формирование контракта в Protobuf
Урок 3: Из какого слоя делать внешние вызовы
Урок 4: Пример реализации gRPC Client
ДЗ: Реализовать входящий адаптер. Сгенерировать Integration Event из Protobuf
Содержание
Практика
Урок 1: Domain Events и Integration Events
Урок 2: Формирование контракта
Урок 3: Из какого слоя отправлять события в Kafka
Урок 4: Создание Kafka Producer
ДЗ: Реализовать Domain Event и исходящий адаптер. Сгенерировать Integration Event из Protobuf
Содержание
Практика
Урок 1: Разновидности гарантий доставки
Урок 2: Обеспечение согласованности в распределенных системах
Урок 3: Реализация паттерна Outbox
Урок 4: Реализация паттерна Polling publisher
ДЗ: Обеспечить согласованность данных. Провести отладку и финальный запуск проекта
Разработал архитектурный шаблон микросервиса с применением DDD в «СберМаркет»
Успешно реализовал ряд высоконагруженных систем для Мегафон, Теле2, БКС Брокер, СберМаркет
Спикер и автор курса — Кирилл Ветчинкин
Постоянный спикер крупных IT-конференций по разработке и Архитектуре ПО: ArchDays, Highload++, Podlodka, РИТ и др
Principal Engineer в «Купер»
15 лет
опыт разработки
5+ лет
опыт применения DDD
9000+ часов
практики на реальных проектах
Спикер и автор курса — Кирилл Ветчинкин
Разработал архитектурный шаблон микросервиса с применением DDD в «Купер» (ex СберМаркет)
Успешно реализовал ряд высоконагруженных систем для Мегафон, Теле2, БКС Брокер, СберМаркет
Постоянный спикер крупных IT-конференций по разработке и Архитектуре ПО: ArchDays, Highload++, Podlodka, РИТ и др
Principal Engineer в Купер (ex СберМаркет)
6+
лет опыт применения DDD
15
года опыт программирования
9000+
часов практики на реальных проектах
Выберите подходящий тариф
Регистрация закроется через:
32 : 15 : 39 : 08
Дни
Часы
Минуты
Секунды
Физическим лицам
Юридическим лицам
Количество мест: неограниченно
29 990 ₽
35 000 ₽
Standard
  • Доступ к 12 блокам курса на 1 год
  • Чат с возможностью задавать вопросы
  • 6 живых эфира с вопросами и разборами домашек в Zoom
  • Сертификат об участии
  • Проверка всех домашних работ
  • Обзор кода сокурсников
  • Возможность сдать ДЗ в течение года
  • Дополнительные модули
  • 3 индивидуальных Q&A-сессии по 60 минут
  • 3 месяца персональной поддержки в чате с момента покупки
100 000 ₽
90 000 ₽
Продано
Продано
Количество мест: 5
VIP
  • Доступ к 12 блокам курса на 1 год
  • Чат с возможностью задавать вопросы
  • 6 живых эфира с вопросами и разборами домашек в Zoom
  • Сертификат об участии
  • Проверка всех домашних работ
  • Обзор кода сокурсников
  • Возможность сдать ДЗ в течение года
  • Дополнительные модули
  • 3 индивидуальных Q&A-сессии по 60 минут
  • 3 месяца персональной поддержки в чате с момента покупки
Бонусы:
  • Пример проведения Event Storming
  • 10 типичных вопросов на System Design интервью
  • 10 антипаттернов микросервисной архитектуры
Бонусы:
  • Пример проведения Event Storming
  • 10 типичных вопросов на System Design интервью
  • 10 антипаттернов микросервисной архитектуры
Количество мест: 20
40 000 ₽
34 900 ₽
Premium
  • Доступ к 12 блокам курса на 1 год
  • Чат с возможностью задавать вопросы
  • 6 живых эфира с вопросами и разборами домашек в Zoom
  • Сертификат об участии
  • Проверка всех домашних работ
  • Обзор кода сокурсников
  • Возможность сдать ДЗ в течение года
  • Дополнительные модули
  • 3 индивидуальных Q&A-сессии по 60 минут
  • 3 месяца персональной поддержки в чате с момента покупки
Дни
Часы
Минуты
Секунды
VIP
  • Доступ к 12 блокам курса на 1 год
  • Чат с возможностью задавать вопросы
  • 6 живых эфира с вопросами и разборами домашек в Zoom
  • Сертификат об участии
  • Проверка всех домашних работ
  • Обзор кода сокурсников
  • Возможность сдать ДЗ в течение года
  • Дополнительные модули
  • 3 индивидуальных Q&A-сессии по 60 минут
  • 3 месяца персональной поддержки в чате с момента покупки
Standard
  • Доступ к 12 блокам курса на 1 год
  • Чат с возможностью задавать вопросы
  • 6 живых эфира с вопросами и разборами домашек в Zoom
  • Сертификат об участии
  • Проверка всех домашних работ
  • Обзор кода сокурсников
  • Возможность сдать ДЗ в течение года
  • Дополнительные модули
  • 3 индивидуальных Q&A-сессии по 60 минут
  • 3 месяца персональной поддержки в чате с момента покупки
Premium
Скидки на  юр. лиц
не  распространяются.

Это связано с  издержками на  документооборот — работа юристов, договор, акты.
40 000 ₽
Бонусы:
  • Пример проведения Event Storming
  • 10 типичных вопросов на System Design интервью
  • 10 антипаттернов микросервисной архитектуры
Бонусы:
  • Пример проведения Event Storming
  • 10 типичных вопросов на System Design интервью
  • 10 антипаттернов микросервисной архитектуры
  • Доступ к 12 блокам курса на 1 год
  • Чат с возможностью задавать вопросы
  • 6 живых эфира с вопросами и разборами домашек в Zoom
  • Сертификат об участии
  • Проверка всех домашних работ
  • Обзор кода сокурсников
  • Возможность сдать ДЗ в течение года
  • Дополнительные модули
  • 3 индивидуальных Q&A-сессии по 60 минут
  • 3 месяца персональной поддержки в чате с момента покупки
Скидки на  юр. лиц
не  распространяются.

Это связано с  издержками на  документооборот — работа юристов, договор, акты.
Продано
100 000 ₽
Скидки на  юр. лиц
не  распространяются.

Это связано с  издержками на  документооборот — работа юристов, договор, акты.
35 000 ₽
Компаниям: обучите своих сотрудников
Напишите нам, мы выставим вам счёт для оплаты, а после выдадим доступ к курсу:
Есть два формата:
1. В общей группе с другими учениками
2. Группы только из ваших сотрудников
info@microarch.ru
Отвечаем на популярные вопросы