В чем разница между контроллером и фасадом?

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

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

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


person Renato Dinhani    schedule 27.04.2012    source источник
comment
stackoverflow.com/questions/839359/   -  person David Chan    schedule 27.04.2012


Ответы (1)


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

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

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

person Perception    schedule 27.04.2012