java設計模式之命令模式以及在java中作用


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

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

命令模式的結構

  命令模式是對命令的封裝。命令模式把發出命令的責任和執行命令的責任分割開,委派給不同的對象。

  每一個命令都是一個操作:請求的一方發出請求要求執行一個操作;接收的一方收到請求,並執行操作。命令模式允許請求的一方和接收的一方獨立開來,使得請求的一方不必知道接收請求的一方的接口,更不必知道請求是怎么被接收,以及操作是否被執行、何時被執行,以及是怎么被執行的。

  命令允許請求的一方和接收請求的一方能夠獨立演化,從而具有以下的優點:

  (1)命令模式使新的命令很容易地被加入到系統里。

  (2)允許接收請求的一方決定是否要否決請求。

  (3)能較容易地設計一個命令隊列。

  (4)可以容易地實現對請求的撤銷和恢復。

  (5)在需要的情況下,可以較容易地將命令記入日志。

 

命令模式的優點

  ●  更松散的耦合

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

  ●  更動態的控制

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

  ●  很自然的復合命令

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

  ●  更好的擴展性

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

 

原文鏈接http://www.cnblogs.com/java-my-life/archive/2012/06/01/2526972.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM