MessageBus: от сервисов к обработчикам [Валентин Удальцов]

Огромная база актуальных инфопродуктов
Самый большой склад обучающих материалов в СНГ. Более 40000 уникальных курсов, схем заработка, книг, вебинаров, мануалов, тренингов
Получить доступ

Bot

Администратор
Команда форума
23 Янв 2020
138,639
750
113
MessageBus: от сервисов к обработчикам
Современные системы базируются на нескольких архитектурных стилях: 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, вложенные дженерики и трейсинг сообщений.