Брат Тук
Брат Тук
Редактор
- Регистрация
- 18/04/2023
- Сообщения
- 17.024
- Репутация
- 44.691
-
0
- #1
Автор: Валентин Удальцов
Название: MessageBus: от сервисов к обработчикам (2026)
Описание:
Современные системы базируются на нескольких архитектурных стилях: SOA (service-oriented architecture), MDA (message-driven architecture), EDA (event-driven architecture), CQRS (command and query responsibility segregation).
В этой лекции мы сделаем шаг от простого кода с "сервисами" и "менеджерами" навстречу этим подходам, спроектировав новые абстракции: сообщение, обработчик, шина, контекст.
Мы возьмём простую систему из двух модулей, один из которых напрямую обращается к сервису другого и образует неправильное направление зависимостей, и последовательно отрефакторим её с применением паттернов command, event, middleware.
Всё это мы будем писать на PHP 8.3, вооружившись PHPStan и Deptrac. По дороге обсудим инверсию зависимостей, принципы открытости/закрытости и разделения интерфейсов, иммутабельность, тип callable, вложенные дженерики и трейсинг сообщений.
Подробнее:
Скачать:
Название: MessageBus: от сервисов к обработчикам (2026)
Описание:
Современные системы базируются на нескольких архитектурных стилях: SOA (service-oriented architecture), MDA (message-driven architecture), EDA (event-driven architecture), CQRS (command and query responsibility segregation).
В этой лекции мы сделаем шаг от простого кода с "сервисами" и "менеджерами" навстречу этим подходам, спроектировав новые абстракции: сообщение, обработчик, шина, контекст.
Мы возьмём простую систему из двух модулей, один из которых напрямую обращается к сервису другого и образует неправильное направление зависимостей, и последовательно отрефакторим её с применением паттернов command, event, middleware.
Всё это мы будем писать на PHP 8.3, вооружившись PHPStan и Deptrac. По дороге обсудим инверсию зависимостей, принципы открытости/закрытости и разделения интерфейсов, иммутабельность, тип callable, вложенные дженерики и трейсинг сообщений.
Подробнее:
Авторизуйтесь, чтобы посмотреть скрытый контент.
Скачать:
Авторизуйтесь, чтобы посмотреть скрытый контент.
