4

В моих приложениях я использовал методы Facade в основном приложении, используя их как контроллеры, потому что я думал, что они одно и то же, но теперь я думаю, что ошибался.В чем разница между контроллером и фасадом?

Мое приложение использует несколько фасадов, каждый из которых является своего рода задачей. Если я перейду на использование контроллера, правильный путь будет иметь только один контроллер?

Мой вопрос здесь в чем разница между фасадом и контроллером.

+0

http://stackoverflow.com/questions/839359/front-controller-vs-facade-pattern –

ответ

9

Как правило, это было бы наоборот, поскольку вы, как правило, имеете меньше фасадов в своей системе, а затем контроллеры. Фасады предназначены для обертки вокруг сложных функций, их основная цель - скрыть сложность базовой системы. Вы можете представить Фасад как слой, обертывающий сложную функциональность и обеспечивающий более простые методы взаимодействия.

Контроллер, с другой стороны, обычно привязан к очень специфической функциональности в системе. Основная цель - оповестить взаимодействие между представлением и моделью, или, в некоторых случаях, только моделью.

Более типично иметь фасад, взаимодействующий с несколькими контроллерами, чем наоборот.