Robot
Складчик
- #1
Domain Driven Design и Clean Architecture на языке Go. Тариф Standard [Кирилл Ветчинкин]
- Ссылка на картинку

За 6 недель вы научитесь строить микросервисы на Go по принципам Domain-Driven Design и Clean Architecture. Курс сочетает теорию и практику: 80% занятий - программирование и работа над реальным проектом.
Программа:
Уроки:
Запись вебинара 1
Запись вебинара 2
Модуль 1. Clean Architecture - Архитектура приложения
-Рассмотреть Layered/Onion/Clean/Hexagonal Architecture и понять
разницу
-Задать структуру слоев микросервиса Basket
Модуль 1. Clean Architecture - Предметная область
Модуль 2. Value Object
-Изучить подходы к реализации бизнес-логики
-Разобраться, что такое Domain Model и критерии ее применения
-Понять, что не все Domain Model «честные»
-Ознакомиться с Domain Model микросервиса Basket
-Изучить паттерн Value Object
Модуль 3. Entity
-Изучить тактический паттерн Entity
-Доработать Domain Model микросервиса Basket
Модуль 4. Aggregate
-Разобраться, что такое Domain Service и когда его применять
-Изучить основные характеристики Domain Service
-Понять отличие Domain Service o Application Service
-Разобраться, как не скатиться в Anemic Domain Model из-за чрезмерного применения Domain Service
-Доработать микросервис Basket
Модуль 5. Domain Service
-Разобраться, что такое Domain Service и когда его применять
-Изучить основные характеристики Domain Service
-Понять отличие Domain Service o Application Service
-Разобраться, как не скатиться в Anemic Domain Model из-за чрезмерного применения Domain Service
-Доработать микросервис Basket
Модуль 6. Repository
-Разобраться как сохранять и восстанавливать доменные объекты
-Изучить паттерн Repository
-Изучить паттерн Unit Of Work
-Научится тестировать Repository
-Доработать микросервис Basket
Модуль 7. Application Layer
-Разобраться, что такое Use Case
-Понять зону ответственности Application Layer
-Рассмотреть способы реализации Application Layer
-Изучить подход с применением Mediator
-Разобраться, что такое Command Query Separation (CQS)
-Доработать микросервис Basket
-Научится тестировать Application Layer
Модуль 8. Sync Input Adapters
-Изучить входящие Adapters на примере НТТР АРІ
-Понять их связь с Application Layer
-Доработать микросервис Basket
-Научится тестировать UI (API) Layer
Модуль 9. Sync Output Adapters
-Изучить синхронные исходящие Adapters на примере gRPC
-Понять из какого слоя делать синхронные обращения к внешним системам
-Познакомиться с gRPC и Protobuf
-Доработать микросервис Basket
Модуль 10. Async Input Adapters
-Изучить Input Adapters для асинхронного взаимодействия на примере Kafka
-Понять их связь с Application Layer
-Доработать микросервис Basket, добавить в него Kafka Consumer
Модуль 11. Async Output Adapters
-Изучить тактический паттерн DDD - Domain Event
-Понять отличие между Domain Event и Integration Event
-Изучить Output Adapters для асинхронного взаимодействия на примере Kafka
-Понять, как и из какого слоя отправлять сообщения в Message
Broker
-Доработать микросервис Basket, добавить в него Kafka Producer
Модуль 12. Eventual Consistency
-Разобраться, какие бывают гарантии доставки и какая из них лучше всего подходит для нашей системы
-Понять недостатки текущей реализации публикации Domain Event
Изучить паттерн Outbox
-Доработать микросервис Basket, реализовать в нем At-least Once гарантию доставки
Программа:
Уроки:
Запись вебинара 1
Запись вебинара 2
Модуль 1. Clean Architecture - Архитектура приложения
-Рассмотреть Layered/Onion/Clean/Hexagonal Architecture и понять
разницу
-Задать структуру слоев микросервиса Basket
Модуль 1. Clean Architecture - Предметная область
Модуль 2. Value Object
-Изучить подходы к реализации бизнес-логики
-Разобраться, что такое Domain Model и критерии ее применения
-Понять, что не все Domain Model «честные»
-Ознакомиться с Domain Model микросервиса Basket
-Изучить паттерн Value Object
Модуль 3. Entity
-Изучить тактический паттерн Entity
-Доработать Domain Model микросервиса Basket
Модуль 4. Aggregate
-Разобраться, что такое Domain Service и когда его применять
-Изучить основные характеристики Domain Service
-Понять отличие Domain Service o Application Service
-Разобраться, как не скатиться в Anemic Domain Model из-за чрезмерного применения Domain Service
-Доработать микросервис Basket
Модуль 5. Domain Service
-Разобраться, что такое Domain Service и когда его применять
-Изучить основные характеристики Domain Service
-Понять отличие Domain Service o Application Service
-Разобраться, как не скатиться в Anemic Domain Model из-за чрезмерного применения Domain Service
-Доработать микросервис Basket
Модуль 6. Repository
-Разобраться как сохранять и восстанавливать доменные объекты
-Изучить паттерн Repository
-Изучить паттерн Unit Of Work
-Научится тестировать Repository
-Доработать микросервис Basket
Модуль 7. Application Layer
-Разобраться, что такое Use Case
-Понять зону ответственности Application Layer
-Рассмотреть способы реализации Application Layer
-Изучить подход с применением Mediator
-Разобраться, что такое Command Query Separation (CQS)
-Доработать микросервис Basket
-Научится тестировать Application Layer
Модуль 8. Sync Input Adapters
-Изучить входящие Adapters на примере НТТР АРІ
-Понять их связь с Application Layer
-Доработать микросервис Basket
-Научится тестировать UI (API) Layer
Модуль 9. Sync Output Adapters
-Изучить синхронные исходящие Adapters на примере gRPC
-Понять из какого слоя делать синхронные обращения к внешним системам
-Познакомиться с gRPC и Protobuf
-Доработать микросервис Basket
Модуль 10. Async Input Adapters
-Изучить Input Adapters для асинхронного взаимодействия на примере Kafka
-Понять их связь с Application Layer
-Доработать микросервис Basket, добавить в него Kafka Consumer
Модуль 11. Async Output Adapters
-Изучить тактический паттерн DDD - Domain Event
-Понять отличие между Domain Event и Integration Event
-Изучить Output Adapters для асинхронного взаимодействия на примере Kafka
-Понять, как и из какого слоя отправлять сообщения в Message
Broker
-Доработать микросервис Basket, добавить в него Kafka Producer
Модуль 12. Eventual Consistency
-Разобраться, какие бывают гарантии доставки и какая из них лучше всего подходит для нашей системы
-Понять недостатки текущей реализации публикации Domain Event
Изучить паттерн Outbox
-Доработать микросервис Basket, реализовать в нем At-least Once гарантию доставки
Показать больше
Зарегистрируйтесь
, чтобы посмотреть скрытый контент.