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