摘要:描述一個對象可以發一些命令讓接受者幫助它執行,命令的發起者和接收者不必耦合,兩者的溝通通過命令的傳遞進行溝通。場景某個經常會指點江山,讓為他寫代碼,做報告,身為只能執行命令。
描述:一個對象可以發一些命令讓接受者幫助它執行,命令的發起者和接收者不必耦合,兩者的溝通通過命令的傳遞進行溝通。
場景:某個boss經常會指點江山,讓coder為他寫代碼,做報告,身為coder只能執行命令。
實現:
抽象命令
interface Command { void coding(); void report(); }
定義一個coder,負責執行commad
class Coder { void exe(String cmd) { System.out.println("I am coder, get the cmd: " + cmd); } }
具體的命令, 這個命令的執行是coder去執行的
class MyCommand implements Command { Coder coder; @Override public void coding() { coder.exe("coding"); } @Override public void report() { coder.exe("report"); } }
定義一個boss,專門指點江山,命令的執行細節他不需要知道
class Boss { Command cmd; Boss(Command cmd) { this.cmd = cmd; } void coding() { cmd.coding(); } void report() { cmd.report(); } }
客戶端調用
public class CommandDemo { public static void main(String[] args) { Command cmd = new MyCommand(); Boss boss = new Boss(cmd); boss.coding(); boss.report(); } }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64008.html
摘要:作者按每天一個設計模式旨在初步領會設計模式的精髓,目前采用和兩種語言實現。該對象執行命令。命令模式按鈕參考設計模式和開發實踐如何實現命令模式 作者按:《每天一個設計模式》旨在初步領會設計模式的精髓,目前采用javascript和python兩種語言實現。誠然,每種設計模式都有多種實現方式,但此小冊只記錄最直截了當的實現方式 :) 原文地址是:《每天一個設計模式之命令模式》 歡迎關注個人...
摘要:作者按每天一個設計模式旨在初步領會設計模式的精髓,目前采用和兩種語言實現。該對象執行命令。命令模式按鈕參考設計模式和開發實踐如何實現命令模式 作者按:《每天一個設計模式》旨在初步領會設計模式的精髓,目前采用javascript和python兩種語言實現。誠然,每種設計模式都有多種實現方式,但此小冊只記錄最直截了當的實現方式 :) 原文地址是:《每天一個設計模式之命令模式》 歡迎關注個人...
摘要:目錄命令模式為什么使用命令模式命令模式應用實例命令模式命令模式在軟件系統中,行為請求者與行為實現者通常呈現一種緊耦合。下篇更代理模式,側重下其和委托形式的區別和實際應用。 目錄 命令模式 為什么使用命令模式 命令模式應用實例 命令模式 命令模式:在軟件系統中,行為請求者與行為實現者通常呈現一種緊耦合。但在某些場合,比如要對行為進行記錄、撤銷/重做、事務等處理,這種無法抵御變化的緊耦...
摘要:支持撤銷,隊列,宏命令等功能。宏命令宏命令一組命令集合命令模式與組合模式的產物發布者發布一個請求,命令對象會遍歷命令集合下的一系列子命令并執行,完成多任務。 showImg(https://segmentfault.com/img/bVbu3CN?w=800&h=600); 命令模式:請求以命令的形式包裹在對象中,并傳給調用對象。調用對象尋找可以處理該命令的合適的對象,并把該命令傳給相...
閱讀 635·2021-10-27 14:15
閱讀 1162·2021-10-15 09:42
閱讀 2741·2019-08-30 15:53
閱讀 1280·2019-08-23 17:02
閱讀 2955·2019-08-23 16:23
閱讀 3170·2019-08-23 15:57
閱讀 3457·2019-08-23 14:39
閱讀 512·2019-08-23 14:35