《命令模式》

在面向對象程式設計的範疇中,命令模式(Command Pattern)是一種設計模式,它嘗試以物件來代表實際行動。

在軟件系統中,行爲請求者行爲實現者通常呈現一種緊耦合。但在某些場合,比如要對行爲進行記錄、撤銷/重做、事務等處理,這種無法抵禦變化的緊耦合是不合適的。在這種情況下,如何將行爲請求者行爲實現者解耦?將一組行爲抽象爲對象,實現二者之間的鬆耦合。這就是命令模式(Command Pattern)。

模式優點

1.降低對象之間的耦合度。

2.新的命令可以很容易地加入到系統中。

3.可以比較容易地設計一個組合命令。

4.調用同一方法實現不同的功能

模式缺點

使用命令模式可能會導致某些系統有過多的具體命令類。因爲針對每一個命令都需要設計一個具體命令類,因此某些系統可能需要大量具體命令類,這將影響命令模式的使用。

適用環境

1.系統需要將請求調用者和請求接收者解耦,使得調用者和接收者不直接交互。

2.系統需要在不同的時間指定請求、將請求排隊和執行請求。

3.系統需要支持命令的撤銷(Undo)操作和恢復(Redo)操作。

4.系統需要將一組操作組合在一起,即支持宏命令。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章