#python #java #architecture
#питон #Ява #архитектура
Вопрос:
Есть случай для создания клиента.
Controller -gt; CreateClientRequest -gt; CreateClientUseCase -gt; ClientEntity [assigned: UserEntity]
Клиенту назначается ответственное лицо.
После создания мне нужно уведомить клиента о назначенном пользователе, а пользователя-о входящем клиенте.
В этом случае у пользователя есть настройки уведомлений, такие как: Электронная почта, Push, SMS.
Вопрос: Как реализовать этот вид агрегирования в чистой архитектуре?
Ответ №1:
Вы можете создать специальную службу уведомлений, полностью отделенную от сущностей клиент/пользователь, которая обрабатывает уведомления общим способом.
Всякий раз, когда задание выполнено, вы используете эту службу для отправки 2 уведомлений, по одному для каждого объекта.
Разделение этой службы сделает архитектуру более надежной, поскольку вы можете протестировать ее общим способом, но также повторно использовать ее для других случаев использования, не говоря уже о том, что это следует за разделением проблем.