2012-04-02 66 views

回答

0

這是一個有點像比較蘋果和橘子。從概念上講,命令是一種設計模式,但控制器是元設計模式的一部分。這意味着它們不是相互排斥或包容性的。一個控制器可以由一個命令組成(甚至包括一組命令)。 MVC有很多種類,控制器在許多方面的責任略有不同,但通常控制器嚴格用於將用戶輸入轉換爲應用程序數據(模型)。在大多數MVC風格中,它還負責在模型更改時更新視圖。通常控制器是長命的。只要某個模型和/或視圖存在,它們就存在,或者如果它們具有視圖/模型註冊系統,則甚至可以使它們活躍起來。

另一方面,命令在理論上是無狀態的,它完成了它的工作,然後發佈了垃圾收集。實際上,命令的執行時間可能比其執行方法的執行時間稍長,這是爲了更容易地促進異步操作。但是,命令總是應該只專注於一個且只有一個任務,並且完成後它們應該消失。

0

的區別是巨大的:

  • 在MVC(模型視圖控制器)

    ,「控制器」講述到「查看」什麼是存儲在「模式」,並且還存儲用戶所做的更改的「觀點」。 「模型」中的每一個變化都被通知給「視圖」。一個模型可以是一個xml文件,一個數據庫等。「視圖」的典型例子是一個GUI。 HERE你可以閱讀更多的mvc模式。

  • in命令模式「命令」對象在不知道調用者的情況下執行動作。 HERE有一個切換器的簡單例子。一個開關可以打開/關閉一盞燈,也是一個引擎,還是其他什麼東西..

我希望我自己清楚