• ОФОРМИТЬ ПОДПИСКУ

Программирование [Кирилл Ветчинкин] Domain Driven Design и Clean Architecture на языке Go (2024)

Gatsby

ВЕЧНЫЙ
Регистрация
10 Окт 2018
Сообщения
53,881
Реакции
279,860
[Кирилл Ветчинкин] Domain Driven Design и Clean Architecture на языке Go (2024)

1780852812887.png

За 6 недель вы научитесь строить микросервисы на Go по принципам Domain-Driven Design и Clean Architecture. Курс сочетает теорию и практику: 80% занятий - программирование и работа над реальным проектом.

Программа:

Уроки:
  • Запись вебинара 1
  • Запись вебинара 2
Модуль 1. Clean Architecture - Архитектура приложения
  • Рассмотреть Layered/Onion/Clean/Hexagonal Architecture и понять разницу
  • Задать структуру слоев микросервиса Basket
Модуль 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 гарантию доставки
Подробнее:

Скрытое содержимое доступно для зарегистрированных пользователей!


Скачать:

 
ВАЖНО:

Не оставляйте комментарии с просьбами обновить / заменить ссылку на скачивание или комментарии типа «404», «ошибка».

Для восстановления ссылки есть кнопки «Жалоба / Восстановить ссылку» в первом посте темы.

При нарушении Ваш комментарий будет удален, а Ваш аккаунт заблокирован на сутки. Пожалуйста, изучите правила нашего сайта.
Сверху Снизу