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

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

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

Многие компании ищут разработчиков, умеющих работать с этим подходом
Не уверен?
посмотри первый модуль
Востребованность и зарплаты:
Senior-специалист
с опытом более 3 лет
450 000+ ₽
Middle-специалист
с опытом от 1 до 3 лет
250 000+ ₽
100 000+ ₽
Junior-специалист
с опытом от 1 года
Проектировать Aggregate, Entity и Value Object в реальном коде
Подключать gRPC, HTTP и Kafka не нарушая границы домена

Применять Repository и Adapter осознанно, а не по шаблону

Писать тесты, которые легко поддерживать
Гарантировать согласованность данных в распределённой системе
Обосновывать DDD команде и получать согласие, а не скепсис
Публиковать Domain Event и передавать их по Kafka
Рабочий репозиторий с микросервисом на GitHub — покажешь на собеседовании или код-ревью

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

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

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

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

Видеуроки

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

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

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

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

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

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

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

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

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

Твой результат

Напишешь микросервис диспетчеризации заказов с Aggregate, Domain Events, 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
оценка курса студентами
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: Создание БД с помощью Migration
Урок 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 человек
Вот некоторые отзывы
«Автор очень подробно и въедливо объяснял ключевые моменты»
Автор просто очень подробно и въедливо объяснял ключевые моменты. Самый полезный, по моему мнению, среди курсов/уроков/лекций, который я слушал на эту тему.

Легко могу себе представить, как применить этот концепт на практике в рабочем проекте.

Уже договорились опробовать на одном из сервисов.
Матвей (Java разработчик, Junior)
«Применимо на практике, преподаватель всегда был на связи»
Хороший курс, применимо на практике, преподаватель всегда был на связи в телеграмм канале, отвечал на вопросы на еженедельных встречах.

Была хорошая практика и удобно, что это было не 5 дней подряд, а еженедельными порциями.
Дмитрий (TechLead)
«Практики очень много. Все разжеванно до мельчайших подробностей»
Практики очень много.
Один из лучших которые я когда-либо проходил (а я проходил ~10 курсов).

Все разжеванно до мельчайших подробностей и понятно объясненно.
Очень доволен курсом, мне как раз не хватало этих знания для ассесмента.
Павел (Java разработчик, Middle+)
«Все объясняется доступным языком»
Очень интересный и полезный курс, информация применима в работе, все объясняется доступным языком.
Женя (Java разработчик, Senior)
« Кирилл понятно объясняет материал и отвечает на все вопросы»
Пока успела посмотреть только частично, но уже видно что курс стоящий.

Кирилл понятно объясняет материал и отвечает на все вопросы.
Ирина (Java разработчик, Middle+)
«Много полезной и практически применимой информации»
В курсе много полезной и практически применимой информации и в общем курс полезен.

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

Начни бесплатно

Урок 1:
Анемичная доменная модель
  • Структура сервиса по Clean Architecture
  • Value Object вместо примитивов — первый шаг к богатой модели
  • Почему это решает проблемы которые ты только что увидел
Следующий урок:
*Свидетельство об участии не является документом об образовании и (или) о квалификации.