Dozhd
Администратор
- Регистрация
- 17 Янв 2014
- Сообщения
- 170.275
- Реакции
- 387.967
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, вложенные дженерики и трейсинг сообщений.
СКАЧАТЬ
Современные системы базируются на нескольких архитектурных стилях: 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, вложенные дженерики и трейсинг сообщений.
СКАЧАТЬ
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- Летняя пересборка, этап 2 Дезинтеграция (июль 2026) [Центр Гравитация] [И. Маслова, И. Богданович, Я. Иваненко]
- HR и ИИ. Практическое руководство для работы с людьми [Сергей Левченко]
- Клуб SEO мясо (июль 2026) [Максим Котёнков]
- Зачем нужен ИИ? + Как понять нейросеть: секреты мышления ИИ [Зубков Андрей]
- Дракула: метод параллельного погружения [Брэм Стокер]
- Первое впечатление: как нравиться людям [Артем Карпавичус]