1. 程式人生 > >設計模式——命令模式

設計模式——命令模式

tro dht asf tmc qdt idt faac tms oba

  命令模式屬於對象的行為模式。命令模式又稱為行動(Action)模式或交易(Transaction)模式。

  命令模式把一個請求或者操作封裝到一個對象中。命令模式允許系統使用不同的請求把客戶端參數化,對請求排隊或者記錄請求日誌,可以提供命令的撤銷和恢復功能。

技術分享

命令模式詳解

命令模式的優點

  ●  更松散的耦合

  命令模式使得發起命令的對象——客戶端,和具體實現命令的對象——接收者對象完全解耦,也就是說發起命令的對象完全不知道具體實現對象是誰,也不知道如何實現。

  ●  更動態的控制

  命令模式把請求封裝起來,可以動態地對它進行參數化、隊列化和日誌化等操作,從而使得系統更靈活。

  ●  很自然的復合命令

  命令模式中的命令對象能夠很容易地組合成復合命令,也就是宏命令,從而使系統操作更簡單,功能更強大。

  ●  更好的擴展性

  由於發起命令的對象和具體的實現完全解耦,因此擴展新的命令就很容易,只需要實現新的命令對象,然後在裝配的時候,把具體的實現對象設置到命令對象中,然後就可以使用這個命令對象,已有的實現完全不用變化。

命令模式的缺點

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

設計模式——命令模式