Чем больше я читаю, тем больше я смущен.
Обратите внимание, что все вопросы связаны с тем, как сервис и фасады соответствуют шаблону MVC.
Мое понимание заключается в том, что Facade не является супер-умным объектом, это просто способ разоблачения простого интерфейса /api выполнить сложную операцию (например: выполнить 10-процентный платеж, это сложная операция, которая включает ряд операций, но такая сложность может быть решена с помощью фасада, который просто вызовет соответствующий объект в определенном порядке... и т.д.)
Теперь служба - это способ выполнить вызовы нескольких DAO для получения сложных структур данных (я не слишком уверен в этом, но это то, что я понимаю до сих пор).
Вопрос в том, в чем разница между фасадом и сервисом? В конце концов, фасад может отлично получить доступ к нескольким DAO, чтобы выполнить сложную операцию, предоставив простой интерфейс, и служба, похоже, что-то похожее.
То же самое происходит с транзакциями, я понимаю, что услуга - это место для начала транзакций, но я также чувствую, что они также могут быть размещены на фасадах, ведь фасад может также вызвать несколько DAO.
Итак, какой стек имеет смысл
Контроллер-фасад-дао Контроллер-сервис-дао
или, возможно,
controller-facadade-dao И иногда контроллер-фасад-сервис-dao??