【发布时间】:2011-03-07 01:22:49
【问题描述】:
在桌面应用程序中使用 MVC 模式,将视图引入其各自控制器的好方法是什么,反之亦然?例如,您是否应该使用构造函数注入来为视图提供其控制器,然后让视图在控制器上调用 setView 方法并将自身作为参数传递?
(问题不针对任何框架/平台。)
【问题讨论】:
标签: model-view-controller user-interface desktop
在桌面应用程序中使用 MVC 模式,将视图引入其各自控制器的好方法是什么,反之亦然?例如,您是否应该使用构造函数注入来为视图提供其控制器,然后让视图在控制器上调用 setView 方法并将自身作为参数传递?
(问题不针对任何框架/平台。)
【问题讨论】:
标签: model-view-controller user-interface desktop
视图应该尽可能的愚蠢。他们不应该知道或依赖于让特定的控制器实例化它们。充其量他们应该有权访问在构造时传递给他们的某种基本控制器类引用,通常作为包装要使用的模型的“视图数据”对象的一部分。
您的控制器应该负责实例化视图,为视图提供将要显示的模型,并返回视图的结果。视图不应该回调控制器来告诉它要返回什么,因为这将控制逻辑流给了视图,这并不是真正的 MVC。
【讨论】: