Уведомления в чистой архитектуре
Есть кейс создания клиента.
Controller -> CreateClientRequest -> CreateClientUseCase -> ClientEntity[assigned: UserEntity]
Клиенту назначается ответственный assigned.
После создания нужно уведомить клиента о назначенном пользователе, а пользователя о поступившем клиенте.
При этом у пользователя есть настройки уведомлений, например: Email, Push, SMS.
Вопрос: Как реализовать такую агрегацию в чистой архитектуре?
Ответы (1 шт):
Вам надо использовать паттерн "наблюдатель", как раз предназначенный следить за изменениями в состоянии и оповещать другие классы (вызывать методы других классов).
А например у пользователя фабрикой создавать обьекты смс, пуш, имейл, и у них один интерфейс, один родитель, чей метод "послать сообщение" и будет вызываться.