【发布时间】:2012-02-25 12:57:39
【问题描述】:
我已经考虑 设计模式 有一段时间了,我才刚刚开始了解如何将其中一些更慎重地融入我的开发工作中。但是,我仍然对他们在本书开头对 MVC 的处理以及它与本书其余部分的关系感到困惑。
我使用过的大多数框架——Spring、Yii、ASP.NET,甚至 Objective-C Cocoa (UIKit)——都迎合了 MVC 范式。我得到 MVC 是因为对我来说它是一种有用的方式来分类对象以及它们应该如何相互发送消息或交互。此外,即使您不打算以 MVC 方式思考,这些框架也会对您施加压力。
我也觉得我理解设计模式的前提:他们真的不喜欢子类化,他们喜欢抽象接口,并且他们力求松耦合。我不能说我完全理解所有的模式或者它们是如何有用的,但我已经感觉到了。
我的问题是:MVC 和设计模式之间的相互作用是什么?他们在本书第一章的 MVC 应用程序示例中得到了什么?某些设计模式与 MVC 范式无关吗?例如,我想知道命令模式应该如何适应 MVC。它看起来非常有用,但是我们是否创建了一个 CommandModel 和 CommandController 来发送给其他控制器?我们只是按照书中的规定创建一个Command 对象吗?基本上,我想知道 MVC 和 设计模式 的想法是否完全脱节,我只是不明白,或者是否有一些模式不适合模具。
【问题讨论】:
-
我认为第一部分(实际上是第 2 章)的重点是表明这些是在实际程序中使用的真实概念,而不仅仅是另一部来自象牙塔的崇高思想的学术著作。
标签: model-view-controller oop design-patterns