Уведомления с чистой архитектурой

#python #java #architecture

#питон #Ява #архитектура

Вопрос:

Есть случай для создания клиента.

Controller -gt; CreateClientRequest -gt; CreateClientUseCase -gt; ClientEntity [assigned: UserEntity]

Клиенту назначается ответственное лицо.

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

В этом случае у пользователя есть настройки уведомлений, такие как: Электронная почта, Push, SMS.

Вопрос: Как реализовать этот вид агрегирования в чистой архитектуре?

Ответ №1:

Вы можете создать специальную службу уведомлений, полностью отделенную от сущностей клиент/пользователь, которая обрабатывает уведомления общим способом.

Всякий раз, когда задание выполнено, вы используете эту службу для отправки 2 уведомлений, по одному для каждого объекта.

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