0

我需要知道 MVC 中包含哪些设计模式,因为我在网上查到这个 MVC 模式使用了观察者,以便通知视图模型的变化。

是否包含任何其他模式,例如 Composite、Strategy 甚至 Mediator?

如果我们从 MVC 中取出观察者模式会发生什么?它仍然有效吗?它会如何改变?

4

3 回答 3

1

我认为复合模式和策略模式是根据程序员的需要使用的,而不是包含在 MVC 模式的内部工作中的东西

对于中介模式,我认为可以将控制器视为视图和模型之间的中介。

只是我的 0.2 美分

于 2012-10-10T02:19:49.520 回答
0

不,没有其他模式被定义为 MVC 或受 MVC 启发的设计模式的一部分。您可以使用装饰器、工厂或其他作为其中的一部分,但它们是不可或缺的部分。

MVC 设计模式不是关于实现细节,而是关于关注点分离。您将表示逻辑与域业务逻辑分开。并且您将接口与用户输入处理分开。您真的应该阅读Martin FowlerGUI Architecture。这可能会消除一些混乱。


如果你采用经典的 MVC 模式并从中移除观察者,你就会得到 Model2 MVC 模式。这是您在涉及 Web 应用程序时可以使用的关闭。

然后,您还有 MVP 和 MVVM 模式,它们与经典 MVC 和 Model2 MVC 的不同之处在于具有被动视图,它们不直接从模型层请求信息。

于 2012-10-10T03:04:01.547 回答
0

它们是 MVC 中包含的 3 个主要模式
1)复合模型
2)策略控制器
3)观察者 - 视图

于 2013-12-20T08:58:05.713 回答