java設計模式之命令模式

2021-07-16 02:08:54 字數 812 閱讀 3593

定義

-把方法呼叫封裝起來,命令模式請求或者操作封裝到乙個物件之中,呼叫的物件需要知道是如何實現的,只要明白如何使用就好。

應用場景

-記錄日誌,是用這些命令實現撤銷或者恢復的

命令模式對命令進行封裝,發出和執行分派給兩個不同的物件(把請求命令和執行命令分開了)這樣做的好處是(a)便於新的命令加入(b)命令佇列(c)實現撤銷和恢復(d)可以將命令加入日誌

角色

1.客戶端角色:建立命令並確定接收者

2.命令角色:所有具體命令的介面

3.具體命令:接受者和執行著之間的弱耦合,實現exe方法(執行方法),呼叫接收者的操作

4.請求者角色:負責命令物件的執行請求(行動方法)

5.接收者角色:負責具體實施和執行乙個請求

** 接收者角色

public class receiver

} 請求者角色

public class invoker

/**

* 行動方法

*/ public void action()}

具體命令角色

public class concretecommand implements command

@override

public void execute()

} 抽象命令角色

public inte***ce command

客戶端角色

public class client }

java設計模式之命令模式

意圖 將乙個請求封裝為乙個物件,從而可用不同的請求對客戶進行引數化 對請求排隊或記錄日誌,以及支援可撤銷的操作 動機 將 發出請求的物件 和 接收與執行這些請求的物件 分隔開來。效果 1 command模式將呼叫操作的物件和實現該操作的物件解耦 2 可以將多個命令裝配成乙個復合命令,復合命令是com...

設計模式之命令模式(java)

命令模式,其實就是進一步封裝,把方法呼叫封裝起來,head first中舉了乙個很生動的例子,飯店中點餐的流暢如下 客戶點了訂單並交給服務端,然後女招待把訂單交給大廚的師傅,大師傅最後呈現出一道可口的菜餚。在這個過程中,客戶只需要知道來飯店點好選單就可以等吃飯了,服務員也是只需要知道把訂單交給大廚,...

Java 設計模式之命令模式

一 了解命令模式 1.1 什麼是命令模式 命令模式將 請求 封裝成物件,以便使用不同的請求 佇列或者日誌來引數化其他物件。命令模式也支援可撤銷的操作。這種說法比較難以理解,換種說法就是指 在軟體系統中,行為請求者 與 行為實現者 通常呈現一種 緊耦合 但在某些場合,比如要對行為進行 記錄 撤銷 重做...