ZetHUB
Administrator
- Регистрация
- 18 Дек 2018
- Сообщения
- 46.117
- Реакции
- 10.027
Другие темы автора:
[Катя Баллеста] Осознанная мастурбация для женщин (2026)
[Елена Донская] Создание денежного талисмана Пятачок (2026)
[Анастасия Вдовина] Курс таро по колоде Светлый Провидец. Тариф...
[Эмилия Франк] Время как основа состояния возраста и возможностей...
[Ксения Меньшикова] Магия в вопросах и ответах. Встреча 72 (2025)
[Елена Донская] Создание денежного талисмана Пятачок (2026)
[Анастасия Вдовина] Курс таро по колоде Светлый Провидец. Тариф...
[Эмилия Франк] Время как основа состояния возраста и возможностей...
[Ксения Меньшикова] Магия в вопросах и ответах. Встреча 72 (2025)
- #1
Голосов: 0
[Валентин Удальцов] 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, вложенные дженерики и трейсинг сообщений.
Скачать: