【发布时间】:2012-10-10 01:40:36
【问题描述】:
我需要知道MVC中包含哪些设计模式,因为我在网上查到这个MVC模式使用Observer,以便通知视图模型的变化。
是否包含任何其他模式,例如 Composite、Strategy 甚至 Mediator?
如果我们从 MVC 中取出观察者模式会发生什么?它仍然有效吗?会有什么变化?
【问题讨论】:
标签: model-view-controller design-patterns class-diagram
我需要知道MVC中包含哪些设计模式,因为我在网上查到这个MVC模式使用Observer,以便通知视图模型的变化。
是否包含任何其他模式,例如 Composite、Strategy 甚至 Mediator?
如果我们从 MVC 中取出观察者模式会发生什么?它仍然有效吗?会有什么变化?
【问题讨论】:
标签: model-view-controller design-patterns class-diagram
我认为复合模式和策略模式是程序员觉得需要的时候使用的,而不是MVC模式内部工作中包含的东西
对于中介者模式,我认为以某种方式可以将控制器视为视图和模型之间的中介。
只要我的 0.2 美分
【讨论】:
没有其他模式被定义为 MVC 或受 MVC 启发的设计模式的一部分。您可以使用装饰器、工厂或其他作为其中的一部分,但它们是不可或缺的部分。
MVC 设计模式不是关于实现细节,而是关于关注点分离。您将表示逻辑与域业务逻辑分开。并且您将接口与用户输入处理分开。您真的应该阅读 Martin Fowler 的 GUI Architecture。这可能会消除一些混乱。
如果你采用经典的 MVC 模式并从中移除观察者,你就会得到 Model2 MVC 模式。这是您在涉及 Web 应用程序时可以使用的关闭。
然后您还有 MVP 和 MVVM 模式,它们与经典 MVC 和 Model2 MVC 的不同之处在于具有被动视图,它们不直接从模型层请求信息。
【讨论】:
它们是 MVC 中包含的 3 个主要模式
1)复合模型
2)策略控制器
3)观察者--查看
【讨论】: