📌Mediator - он же Посредник

Mediator - паттерн, который позволяет реализовать Посредника и упростить взаимодействие между различными компонентами приложения, позволяя им общаться через запросы и уведомления без прямых зависимостей друг от друга.

Существует популярная библиотека MediatR для .NET, реализующая паттерн Посредника (Mediator) и в контексте CQRS (Command Query Responsibility Segregation) является пожалуй стандартом, если системе не предъявляется каких-то специфических требований.

Вот основные концепции, реализованные в библиотеке —

🟢Запросы (Requests) Разделяются на два типа: Commands - изменяют состояние системы, могут возвращать результат операции Queries - возвращают какие-то данные, но не изменяют состояние

🟢Обработчики (Handlers) Содержат бизнес-логику для обработки конкретного запроса. Каждый запрос имеет свой обработчик

🟢Уведомления (Notifications) Позволяют реализовать событийную модель, при этом несколько обработчиков могут реагировать на одно событие.

▪️Какие преимущества использования MediatR 1. Четкое разделение ответственности 2. Слабая связанность, контроллеры не зависят напрямую от репозиториев 3. Тестируемость, каждый обработчик можно тестировать изолированно 4. Легко добавлять новую функциональность

Библиотека особенно полезна в больших приложениях со сложной бизнес-логикой, где важно поддерживать код чистым и хорошо структурированным.