Научишься писать код который не превращается в legacy и выдерживает любые изменения требований

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

Разберёшься почему контроллер-сервис-репозиторий — путь к легаси
Много практики
Каждый модуль — задание на кодирование реального сервиса
Спроектируешь сервис который не стыдно показать на собеседовании
Рабочая структура сервиса которую возьмёшь в свой проект
Кирилл Ветчинкин
Автор курса. Действующий архитектор Авито. Ex Staff Engineer в "Купер". Применяет DDD с 2019 года.
Портфолио
Структура
Готовый шаблон
Онлайн
Старт 7 июля
1.5 месяца

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

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

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

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

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

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

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

Моков было столько что тест проверял не логику, а то как мы замокали инфраструктуру. Оказалось — это классический симптом когда домен не отделён от инфраструктуры.

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

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

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

До курса я прочитал книги по DDD, статьи, смотрел выступления, но всё это оставалось разрозненным.
Не знал, как начать применять эти знания на практике.
Звучит знакомо?

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

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

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

Научишься менять транспорт не трогая логику — HTTP, gRPC, Kafka подключаются как адаптеры, домен остаётся чистым
Что будет на курсе

Напишешь тесты которые не ломаются

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

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

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

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

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

Реализуешь Use Case и Domain Service

Освоишь CQS подход, реализуешь команды и медиаторы — бизнес-логика не будет знать про инфраструктуру

С DDD ты на шаг впереди на Senior и Tech Lead позициях

Многие компании ищут разработчиков, умеющих работать с этим подходом
Не уверен?
посмотри первый модуль
Проектировать Aggregate, Entity и Value Object в реальном коде
Подключать gRPC, HTTP и Kafka не нарушая границы домена
Применять Repository и Adapter осознанно, а не по шаблону
Писать тесты, которые легко поддерживать
Гарантировать согласованность данных в распределённой системе
Обосновывать DDD команде и получать согласие, а не скепсис
Публиковать Domain Event и передавать их по Kafka
Рабочий репозиторий с микросервисом на GitHub — покажешь на собеседовании или код-ревью

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

Итоговый проект станет шаблоном который возьмёшь за основу в своей команде

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

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

Видеуроки

Эксперт шаг за шагом создаёт микросервис, раскрывая ключевые паттерны DDD и объясняя как избежать ошибок

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

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

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

Напишешь сервис диспетчеризации заказов — с DDD, Kafka, gRPC и Clean Architecture внутри

Проверка от автора

Автор курса лично проверит твой код — укажет на ошибки и объяснит как правильно

Живые разборы

Только на тарифе "Эксперт". Кирилл разбирает код реальных проектов вживую — увидишь как эксперт думает над архитектурной проблемой и принимает решения

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

Пишешь 2-3 года, но в реальном проекте архитектура разваливается с каждым новым требованием — курс даст структуру которой не хватает

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

Слышал про агрегаты и доменные события — но в реальном коде всё равно получается каша. Разберёшься как применять DDD правильно, а не "в теории"
2

TeamLead,
CTO

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

Разработал архитектурный шаблон микросервиса с применением DDD в «СберМаркет»

Cпикер крупных IT-конференций по разработке и Архитектуре ПО: ArchDays, Highload++, Podlodka, РИТ

Автор курса —
Кирилл Ветчинкин

Ex Staff Engineer в «Купер», ex Head of Backend в «BCS Broker»

Действующий архитектор в «Авито»
6+ лет
опыт применения DDD

15 лет

опыт в разработке
4.8 / 5
оценка курса студентами
Спикер и автор курса — Кирилл Ветчинкин
Разработал архитектурный шаблон микросервиса с применением DDD в «СберМаркет»
Cпикер крупных IT-конференций по разработке и Архитектуре ПО: ArchDays, Highload++, Podlodka, РИТ
Ex Staff Engineer в «Купер», ex Head of Backend в «BCS Broker»
Действующий архитектор в «Авито»
15 лет
опыт в разработке
6+ лет
опыт применения DDD
4.8 / 5
оценка курса студентами
12 модулей
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: Создание схемы БД с помощью Migrations
Урок 2: Основные ошибки при реализации Repository
Урок 3: Реализация паттерна Repository
Урок 4: Покрытие логики Integration тестами
ДЗ: Реализовать Repository для Aggregate «Order» и «Courier»
Содержание
Практика
Урок 1: Чем плох Application Service
Урок 2: Реализация паттерна "Command"
Урок 3: CQS подход
Урок 4: Пример реализации
ДЗ: Реализовать все Use Case приложения, применить CQS
Содержание
Практика
Урок 1: Contract-first подход
Урок 2: Знакомство с Swagger Open API
Урок 3: Связь HTTP Handler и Use Case
Урок 4: Генерация HTTP Server из контракта
ДЗ: Реализовать все Use Case приложения, применить CQS
Содержание
Практика
Урок 1: Знакомство с gRPC и Protobuf
Урок 2: Генерация gRPC Client из контракта
Урок 3: Из какого слоя делать внешние вызовы
Урок 4: Пример реализации порта и gRPC адаптера
ДЗ: Реализовать исходящий адаптер. Сгенерировать gRPC Client из Protobuf
Содержание
Практика
Урок 1: Знакомство с kafka и Protobuf
Урок 2: Генерация Integration Event из контракта
Урок 3: В каком слое обрабатывать сообщения Kafka
Урок 4: Создание Kafka адаптера (consumer)
ДЗ: Реализовать входящий адаптер. Сгенерировать Integration Event из Protobuf
Содержание
Практика
Урок 1: Реализация паттерна Domain Event (событие предметной области)
Урок 2: Отличия Domain Events и Integration Events
Урок 3: Где порождать Domain Events
Урок 4: Создание Kafka адаптера (producer)
ДЗ: Реализовать Domain Event и исходящий адаптер. Сгенерировать Integration Event из Protobuf
Содержание
Практика
Урок 1: Разновидности гарантий доставки
Урок 2: Обеспечение согласованности в распределенных системах
Урок 3: Реализация паттерна Outbox
Урок 4: Реализация паттерна Polling publisher
ДЗ: Обеспечить согласованность данных. Провести отладку и финальный запуск проекта
Курс прошли уже более
350 человек
Вот некоторые отзывы
«Теперь я не просто пишу код — я моделирую предметную область»
Пришёл с базовыми знаниями Golang и скромным опытом работы с Transaction Script, а ушёл с глубоким пониманием Domain-Driven Design и уверенностью в проектировании сложных систем.

Теперь я не просто пишу код — я моделирую предметную область, делая его гибким, масштабируемым и поддерживаемым!
Сергей (Go разработчик, Junior)
«Даёт практические навыки, которые сразу можно применять в бою»
Если вы пишете на Golang и хотите перейти от простых CRUD-приложений к профессиональному проектированию сложных систем — этот курс обязателен к изучению! Даёт не только теорию, но и практические навыки, которые сразу можно применять в бою.

Решил несколько рабочих задач с применением DDD, и коллеги были впечатлены!
Максим (TechLead Go)
«Были интересные обсуждения в чате, круто было услышать разные подходы»
Отличный практический пример, очень интересно было в процессе разбираться с паттернами.

Были интересные обсуждения в чате, круто было услышать разные подходы, посмотреть кто как делает.
Филип (Go разработчик, Middle+)
«Больше никакого размазанного кода по всему проекту»
Осознал, как правильно инкапсулировать бизнес-правила внутри агрегатов.

Больше никакого размазанного кода по всему проекту — теперь вся логика сосредоточена в одном месте, и её легко тестировать!
Данияр (Go разработчик, Senior)
«Перетащила отдельные практики в свою работу не ломая основной процесс»
Суперский курс, у меня в голове всё сложилось!

Я поняла, как и что буду применять в своих реальных проектах, увидела плюсы и минусы DDD.

Перетащила отдельные практики в свою работу не ломая основной процесс. Появились мысли, наметила план по улучшению кодовой базы.
Анна (Go разработчик, Middle+)
«Очень хорошо проработанные ДЗ. Все время затраченное на них проходит с пользой»
Наиболее ценны были разъяснения концепций и переход от теории к практике.

Очень хорошо проработанные ДЗ. Все время затраченное на них проходит с пользой, без необходимости набивки лишнего бойлерплейта или ненужных уточнений задания.
Анастасия (Go разработчик, Junior)
Попробуй первый модуль бесплатно
  • Пойми подходит ли тебе формат и подача материала
  • Разберись есть ли архитектурные проблемы в твоём коде — ещё до оплаты
Выбери свой тариф
Запись в поток закрывается через
следующий поток только осенью
32 : 15 : 39 : 08
Дни
Часы
Минуты
Секунды
Физическим лицам
Юридическим лицам
Для тех кто ещё не уверен нужно ли это
Демо
  • 1 модуль полностью
  • Узнаешь есть ли архитектурные проблемы в твоём текущем проекте
  • Без оплаты и обязательств
Для тех кто хочет персональный разбор от эксперта
Эксперт
  • Доступ ко всем модулям
  • Проверка ДЗ
  • Чат потока
  • Доступ к записям на 3 года
  • Сообщество выпускников
  • Свидетельство об участии*
  • Приоритетная проверка ДЗ
  • 3 живых разбора кода реальных проектов
  • 2 архитектурных ревью твоего реального проекта: до и после
Бонусы:
Бонусы:
  • Чеклист архитектурного аудита для самодиагностики
Бонусы:
Для тех кто хочет разобраться и применить
Практик
  • Доступ ко всем модулям
  • Проверка ДЗ
  • Чат потока
  • Доступ к записям на 3 года
  • Сообщество выпускников
  • Свидетельство об участии*
Проверь есть ли проблема в твоём коде
Бесплатно
после 14 января
36 900 ₽
Осталось 7 из 10 мест
60 000 ₽
после 14 января
80 000 ₽
  • Чеклист архитектурного аудита для самодиагностики
  • SOLID принципы
  • GRASP шаблоны проектирования
Рассрочка от 2 900 ₽ в месяц
35 000 ₽
  • Чеклист архитектурного аудита для самодиагностики
  • SOLID принципы
  • GRASP шаблоны проектирования
  • Структурные шаблоны проектирования
  • Пошаговый план внедрения DDD
после 14 января
41 900 ₽
Дни
Часы
Минуты
Секунды
Эксперт
  • Доступ ко всем модулям
  • Проверка ДЗ
  • Чат потока
  • Доступ к записям на 3 года
  • Сообщество выпускников
  • Свидетельство об участии*
  • Приоритетная проверка ДЗ
  • 3 живых разбора кода реальных проектов
  • 2 архитектурных ревью твоего реального проекта: до и после
Бонусы:
  • Чеклист архитектурного аудита для самодиагностики
Демо
  • 1 модуль полностью
  • Узнаешь есть ли архитектурные проблемы в твоём текущем проекте
  • Без оплаты и обязательств
Практик
Цена для юрлиц выше из-за договора и закрывающих документов.
40 000 ₽
  • Доступ ко всем модулям
  • Проверка ДЗ
  • Чат потока
  • Доступ к записям на 3 года
  • Сообщество выпускников
  • Свидетельство об участии*
Бонусы:
  • Чеклист архитектурного аудита для самодиагностики
  • SOLID принципы
  • GRASP шаблоны проектирования
Бонусы:
  • Чеклист архитектурного аудита для самодиагностики
  • SOLID принципы
  • GRASP шаблоны проектирования
  • Структурные шаблоны проектирования
  • Пошаговый план внедрения DDD
Цена для юрлиц выше из-за договора и закрывающих документов.
65 000 ₽
Бесплатно
Обучение команды под ключ
Напишите нам — обсудим формат и выставим счёт
Единый стандарт архитектуры в команде — меньше споров на код-ревью, быстрее онбординг новых разработчиков
info@microarch.ru
Частые вопросы
Начни бесплатно
Урок 1:
Анемичная доменная модель
  • Структура сервиса по Clean Architecture
  • Value Object вместо примитивов — первый шаг к богатой модели
  • Почему это решает проблемы которые ты только что увидел
Следующий урок:
*Свидетельство об участии не является документом об образовании и (или) о квалификации.