Как «представить» представление и контроллер в шаблоне MVC? - PullRequest
0 голосов
/ 23 июня 2010

Используя шаблон MVC в настольном приложении, каков хороший подход для представления представления соответствующему контроллеру и наоборот? Например, следует ли использовать инжектор конструктора, чтобы дать представлению свой контроллер, а затем заставить представление вызвать метод setView на контроллере и передать себя в качестве аргумента?

(Вопрос не относится к какой-либо платформе / платформе.)

1 Ответ

3 голосов
/ 23 июня 2010

Представления должны быть максимально тупыми.Они не должны знать или полагаться на то, что конкретные контроллеры будут их создавать.В лучшем случае они должны иметь доступ к некоторой ссылке на класс базового контроллера, которая передается им при создании, обычно как часть объекта «просмотр данных», который также оборачивает используемую модель.

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

...