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