如何'介绍'视图&控制器在MVC模式?

时间:2010-06-22 21:41:36

标签: model-view-controller user-interface desktop

在桌面应用程序中使用MVC模式,将视图引入其各自的控制器有什么好方法,反之亦然?例如,您是否应该使用构造函数注入来为视图提供控制器,然后让视图在控制器上调用setView方法并将其自身作为参数传递?

(问题并非针对任何框架/平台。)

1 个答案:

答案 0 :(得分:3)

观点应尽可能愚蠢。他们不应该知道,或依赖于让特定的控制器实例化它们。它们最多应该可以访问在构造时传递给它们的某种基本控制器类引用,通常作为包含要使用的模型的“视图数据”对象的一部分。

您的控制器应负责实例化视图,为视图提供将要显示的模型,并返回视图的结果。该视图不应该回调到控制器中,告诉它要返回什么,因为这样可以控制逻辑流到View,这与MVC不同。