【发布时间】:2010-03-07 09:05:54
【问题描述】:
当使用 MVC 模式时,我应该为每个视图实现一个单独的控制器吗?
【问题讨论】:
标签: model-view-controller design-patterns
当使用 MVC 模式时,我应该为每个视图实现一个单独的控制器吗?
【问题讨论】:
标签: model-view-controller design-patterns
如果需要,创建一个新的。如果你不这样做,就不要。
模式与数据结构无关,它们与通信组件之间的组织模式有关。如果同一个控制器适用于多个视图,那就太好了 - 特别是如果您可以不加修改地使用它。
如果您必须更改它,那么您可以使用两个单独的控制器。如果它们之间存在共享代码,则考虑将其移至另一个类 - 基类或(我个人偏好)通过聚合共享。
考虑 MVC 的最简单方法是命令行程序。该程序是模型。控制器是标准输入。视图是标准输出。
【讨论】:
我相信没有'the' MVC 模式。 MVC 模式的数量几乎与 MVC 体系结构的用户一样多。话虽如此,在我看来,你的问题的答案是“不”。
【讨论】:
我用来为我的应用程序的每个模块而不是每个视图实现一个控制器。一个控制器可以调用其他控制器的方法。我不确定这是否是更好的方法,但我认为它对我来说效果很好。
【讨论】:
想法是分离/解耦M,V和C,如果你想要单个控制器控制多个视图,只要视图和控制器解耦,这不是问题
【讨论】: