將乙個請求封裝成乙個物件(command),從而使你可以用不同的請求對客戶進行引數化。目的是達到命令的發出者和執行者之間解耦,實現請求和執行分開。
三個角色:
received:行為實現者,真正的命令執行物件。
command:命令類,含有具體接收者成員引用。
invoker: 行為請求者,利用命令物件成員,為接收者發布命令。
優點:降低了系統耦合度。 分離行為請求者與行為實現者。
新的命令可以很容易新增到系統中去。
缺點:使用命令模式可能會導致某些系統有過多的具體命令類。
public class client
}inte***ce command
class invoker
public void action()
}class receiver
public void action2()
}class mycommand1 implements command
@override
public void execute()
} class mycommand2 implements command
@override
public void execute()
} output:
action1
action2
設計模式 行為型 命令模式
設計模式行為型 1.觀察者模式 2.模板模式 3.策略模式 4.職責鏈模式 5.狀態模式 6.迭代器模式 7.訪問者模式 8.備忘錄模式 9.命令模式 10.直譯器模式 11.中介模式 將乙個請求封裝為乙個物件,從而使你可用不同的請求對客戶端進行引數化,對請求排隊或記錄請求日誌,以及支援可撤銷的操作...
設計模式 行為型 命令
具體實現 package com.desinmode.command public inte ce command package com.desinmode.command public class light public void off package com.desinmode.comma...
《設計模式》17 命令模式(行為型)
將請求封裝成為命令物件,使 方法的請求者 與 方法的實現者 解耦。命令物件可以被儲存 排隊 記錄 處理 撤銷等。又稱為動作 action 模式或事務 transaction 模式。呼叫者 請求者 invoker 請求的傳送者,持有乙個或多個命令物件,通過呼叫命令物件執行命令介面處理相關請求,它不直接...