2012-04-02 69 views

回答

0

这是一个有点像比较苹果和橘子。从概念上讲,命令是一种设计模式,但控制器是元设计模式的一部分。这意味着它们不是相互排斥或包容性的。一个控制器可以由一个命令组成(甚至包括一组命令)。 MVC有很多种类,控制器在许多方面的责任略有不同,但通常控制器严格用于将用户输入转换为应用程序数据(模型)。在大多数MVC风格中,它还负责在模型更改时更新视图。通常控制器是长命的。只要某个模型和/或视图存在,它们就存在,或者如果它们具有视图/模型注册系统,则甚至可以使它们活跃起来。

另一方面,命令在理论上是无状态的,它完成了它的工作,然后发布了垃圾收集。实际上,命令的执行时间可能比其执行方法的执行时间稍长,这是为了更容易地促进异步操作。但是,命令总是应该只专注于一个且只有一个任务,并且完成后它们应该消失。

0

的区别是巨大的:

  • 在MVC(模型视图控制器)

    ,“控制器”讲述到“查看”什么是存储在“模式”,并且还存储用户所做的更改的“观点”。 “模型”中的每一个变化都被通知给“视图”。一个模型可以是一个xml文件,一个数据库等。“视图”的典型例子是一个GUI。 HERE你可以阅读更多的mvc模式。

  • in命令模式“命令”对象在不知道调用者的情况下执行动作。 HERE有一个切换器的简单例子。一个开关可以打开/关闭一盏灯,也是一个引擎,还是其他什么东西..

我希望我自己清楚