Re[3]: Фасад доменной модели - это God-объект?
От: Буравчик Россия  
Дата: 21.05.24 07:04
Оценка: 4 (1) +1
Здравствуйте, zelenprog, Вы писали:

Z>Чтобы делегировать обработчику, фасад должен знать интерфейс этого обработчика.

Z>Если учесть, что слой бизнес-логики содержит не один, а много обработчиков, то получается, что фасад должен знать интерфейсы всех этих обработчиков.
Z>Значит, Фасад будет "знать" по сути всю бизнес-логику (то есть "зависеть" от всех обработчиков).

Не саму бизнес-логику, а только правила ее вызова.

Z>Это же и есть God-object.

Z>Что-то тут не так. А как же принцип разделения ответственности?

Вопрос терминологии. Легко обосновать, что это God-object. И так же легко притащить сюда SRP. Единственная ответственность: фасад предоставлет упрощенный интерфейс к системе (заворачивает систему в черный ящик)

Ответственность разделяют, чтобы снизить сложность системы.

Задай себе вопросы:
— этот класс облегчает работу с системой со стороны клиента (вызывающего кода)?
— с этим классом легко разобраться, чтобы его исправлять?

Если ответы "да", то это полезный класс.
Best regards, Буравчик
Отредактировано 21.05.2024 8:38 Буравчик . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.