學校中、生活中、社會中老是會存在必定的階層,雖然咱們不少人都不可承認階層的存在。命令這一詞也就在階層中誕生。家長命令孩子,老師命令學生,領導命令小婁婁。這些都在咱們的生活存在的東西,相信這一個模式學習起來也會比較簡單的。此次咱們就舉一個領導命令員工的例子來學習命令模式。程序員
工做中領導常常會叫(命令)你去作一些事情,可是領導並不關心你怎麼作的,只須要知道你作的結果就行了。怎麼作是你本身的事情,作很差就等着加班吧(開玩笑的,通常都會說本身自願的,哈哈),作的好功勞也很差是你的,哈哈好像有點小黑暗。通常大領導會叫小領導作事情,小領導才叫小婁婁。而後功勞你懂的。很少說了,說多了都是淚。開始碼代碼。學習
既然是命令就要有命令呀,先定義一個命令吧。this
package com.roc.command; /** * 命令 * @author liaowp * */ public abstract class Command { protected CodeWorkMan codeWorkMan=new CodeWorkMan();//定義一個程序員 /** * 執行命令 */ public abstract void execute(); }
仍是須要一個小婁婁呢,簡稱工做人員,能寫文檔、能寫代碼、還須要能加班。spa
package com.roc.command; public abstract class WorkMan { /** * 寫文檔 */ public abstract void writeDocument(); /** * 工做 */ public abstract void work(); /** * 加班 */ public abstract void overWork(); }
須要具體的人員吧,否則怎麼體現領導的價值呢。就來一個程序員吧code
package com.roc.command; /** * 程序員 * @author liaowp * */ public class CodeWorkMan extends WorkMan{ public void writeDocument() { System.out.println("寫文檔中。。。。。。。。"); } public void work() { System.out.println("叫你上班就上班,廢話撒。。。。。。。。。"); } public void overWork() { System.out.println("領導一句加班,加班中。。。。。。。。。。。"); } }
須要一個小領導吧,否則沒有人管理程序員呀,那就建立一個領導吧。blog
package com.roc.command; /** * 小領導,通常大領導不會直接給員工下命令。 * @author liaowp * */ public class LittleLead { private Command command; public Command getCommand() { return command; } public void setCommand(Command command) { this.command = command; } public void action(){//小領導執行命令,小領導在叫員工執行 command.execute(); } }
須要具體的執行命令,否則不知道應該幹嗎呢。那就來一個執行命令文檔
package com.roc.command; /** * 程序員執行命令 * @author liaowp * */ public class CodeCommand extends Command{ public void execute() { super.codeWorkMan.work();//工做 super.codeWorkMan.overWork();//加班 super.codeWorkMan.writeDocument();//寫文檔 } }
這樣好的場景須要有一個場景模擬吧,客戶端咯get
package com.roc.command; /** * 模擬大領導 命令模式 * @author liaowp * */ public class Client { public static void main(String[] args) {//領導發命令,並不用關心你的工做,發命令就能夠。具體怎麼搞,大家本身搞去 Command command=new CodeCommand();//命令 LittleLead lead=new LittleLead(); //小領導 lead.setCommand(command); lead.action(); } }
整個命令模式就是領導發命令叫你幹事情,並不用管你怎麼搞,發出一條命令,命令須要先思考,先生成命令,而後領導想到命令了,領導發命令,幹事情的是程序員。命令模式,果真有點叼呀。it