Gatsby
ВЕЧНЫЙ
- Регистрация
- 10 Окт 2018
- Сообщения
- 53,056
- Реакции
- 275,368
Domain Driven Design и Clean Architecture на языке Go
Автор: Кирилл ВетчинкинПлатформа: microarch

«Domain Driven Design и Clean Architecture на языке Go» — это практический курс для разработчиков, которые хотят научиться проектировать гибкие, масштабируемые и поддерживаемые микросервисы на Go. Программа объединяет два мощных архитектурных подхода — DDD и Clean Architecture — и показывает, как применять их не в теории, а в реальной разработке backend-сервисов.
Курс помогает разобраться, как выделять доменную модель, правильно организовывать слои приложения, управлять зависимостями, проектировать бизнес-логику, строить интеграции и создавать микросервис, готовый к развитию и поддержке в командной среде. Основной упор сделан на практику: большую часть обучения занимает программирование, выполнение заданий, код-ревью и разбор архитектурных решений.
Материал подойдёт Go-разработчикам, которые хотят выйти за рамки простой реализации API и научиться проектировать системы на более зрелом инженерном уровне. Также курс будет полезен разработчикам с опытом в других языках, если они хотят освоить DDD, Clean Architecture и микросервисную архитектуру через практику на Go.
Кому подойдёт курс:
- Go-разработчикам, которые хотят углубиться в архитектуру
- Backend-инженерам, работающим с микросервисами
- Разработчикам, которым важно освоить DDD на практике
- Тем, кто хочет понять Clean Architecture без абстрактной теории
- Инженерам, которые хотят правильно выделять бизнес-логику
- Разработчикам из других языков, переходящим к Go и системному проектированию
- Тем, кто хочет собрать архитектурно зрелый проект для портфолио
- Принципы Clean Architecture
- Практическое применение Domain Driven Design
- Проектирование доменной модели
- Работу с Entity, Value Object, Aggregate и Repository
- Создание REST API и gRPC-интеграций
- Обмен событиями через Kafka
- Паттерн Outbox и согласованность данных
- Построение микросервиса на Go с нуля
Основные архитектурные принципы:
- Разделение ответственности между слоями приложения
- Понимание потока управления данными
- Корректная организация зависимостей
- Работа с абстракциями
- Выделение бизнес-логики как ядра системы
- Снижение связанности между доменом и инфраструктурой
- Проектирование кода, который легче тестировать и развивать
Domain Driven Design на практике:
- Проектирование Value Object
- Создание Entity
- Выделение границ Aggregate
- Использование Domain Service
- Проектирование Repository
- Работа с доменными событиями
- Создание анти-коррупционного слоя
Доменная модель:
- Вы научитесь выделять ключевые бизнес-сущности
- Поймёте разницу между Entity и Value Object
- Разберёте, как определять границы агрегатов
- Научитесь удерживать инварианты внутри домена
- Поймёте, как не смешивать бизнес-логику с инфраструктурой
Интеграции и взаимодействие сервисов:
- Создание REST API
- Проектирование контрактов между сервисами
- Взаимодействие через gRPC
- Обмен событиями через Kafka
- Выбор подходящего способа коммуникации под задачу
- Работа с внешними системами без разрушения доменной модели
Надёжные интеграционные паттерны:
- Паттерн Outbox для консистентной отправки событий
- Транзакционные границы
- Согласованность данных между сервисами
- Работа с доменными событиями
- Снижение риска потери сообщений
- Проектирование более устойчивых микросервисных взаимодействий
Практическая часть курса:
- 80% занятий посвящено программированию
- 12 практических заданий
- Постепенное построение микросервиса с нуля
- Разработка доменной модели
- Реализация интеграций
- Код-ревью и разбор типичных ошибок
- Рекомендации по улучшению архитектуры
Что включает практика:
- Проектирование структуры приложения
- Выделение слоёв и зависимостей
- Создание доменных объектов
- Реализация use case и application layer
- Работа с repository и инфраструктурой
- Создание API и интеграций
- Проверка решений через код-ревью
Результат обучения:
- Готовый микросервис на Go
- Архитектура, построенная по принципам DDD и Clean Architecture
- Практический опыт проектирования доменной модели
- Понимание архитектурных паттернов микросервисов
- Навык работы с REST, gRPC и Kafka
- Опыт применения Outbox и доменных событий
- Проект для портфолио, демонстрирующий инженерную зрелость
Что вы сможете после прохождения:
- Применять Clean Architecture в Go-проектах
- Проектировать доменную модель по DDD
- Выделять Entity, Value Object, Aggregate и Domain Service
- Организовывать зависимости между слоями приложения
- Создавать REST API и gRPC-сервисы
- Использовать Kafka для событийного взаимодействия
- Проектировать надёжные интеграции через Outbox
- Писать более поддерживаемый и масштабируемый backend-код
В результате вы получите готовый микросервис на Go, практическое понимание DDD и Clean Architecture, а также навыки проектирования, которые помогут создавать более гибкие, понятные и надёжные backend-системы.
Подробнее:
Скрытое содержимое доступно для зарегистрированных пользователей!
Скачать:
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.