Domain Driven Design и Clean Architecture на языке Go [Тариф Standard] [Кирилл Ветчинкин]
После прохождения курса вы сможете:
После прохождения курса вы сможете:
- Кодировать Aggregate, Value Object, Entity
- Делать интеграции по gRPC, HTTP, Kafka
- Правильно применять паттерн Repository и Adapter
- Писать тесты, которые легко поддерживать
- Обеспечивать согласованность событий
- Выстраивать архитектуру приложения с нуля
- Публиковать Domain Event и передавать их по Kafka
- Обосновывать применение DDD в команде
- Clean Architecture
Научитесь определять ключевые слои приложения в соответствии с принципами Clean Architecture, разделяя логику, зависимости и ответственность. - Value Object
Научитесь различать анемичную и богатую Domain Model, а также поймёте, как правильно реализовывать Value Object для чистого и поддерживаемого кода. - Entity
Освоите реализацию тактического паттерна Entity, научитесь создавать сущности с четко определённой бизнес-логикой и инкапсулированными данными. - Aggregate
Научитесь управлять связанными объектами через единый корневой объект, правильно определять границы агрегатов и применять бизнес-логику в одном месте. - Domain Service
Создадите и внедрите Domain Service в доменный слой приложения, выделив бизнес-логику, которая не относится напрямую к сущностям или агрегатам. - Repository
Развернете БД в Docker. Реализуете паттерн Repository, настроите работу с базой данных через EF Migrations и создадите надёжный слой данных, покрытый интеграционными тестами. - Application Layer
Реализуете Use Case’ы приложения, применяя паттерны «Command» и «Mediator», а также следуя принципу CQS (Command Query Separation). - Входящий HTTP адаптер
Реализуете входящий HTTP Adapter, связав REST API с бизнес-логикой через Use Case, и получите работающий HTTP сервер, сгенерированный из контракта OpenAPI. - Исходящий Grpc адаптер
Реализуете исходящий gRPC Adapter, создавая его по принципам портов и адаптеров в Clean Architecture, и освоите базовую настройку gRPC клиента с использованием Protobuf. - Входящий Kafka адаптер
Поднимите Kafka в Docker. Реализуете на основе контракта входящий Kafka-адаптер в соответствии с Clean Architecture, настроите его взаимодействие с Use Case. - Исходящий Kafka адаптер
Cоздадите исходящий Kafka-адаптер, научившись отправлять Domain Events и преобразовывать их в Integration Events для внешних систем. - Eventual Consistency
Реализуете паттерны Outbox и Polling Publisher. Создадите устойчивую к сбоям интеграцию с Kafka, обеспечивающую согласованность данных в распределённой системе.
- Доступ к 12 блокам курса на 1 год
- Чат с возможностью задавать вопросы
- 6 живых эфира с вопросами и разборами домашек в Zoom
- Сертификат об участии
https://microarch.ru/courses/ddd/languages/go