亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

命令模式

系統 1629 0

命令模式(別名:動作,事務)

將一個請求封裝為一個對象,從而使用戶可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日志,心腹支持可撤銷的操作。


命令模式

Receiver(接收者):接收者是一個類的實例,該實例負責執行與請求相關的操作。

Command(命令)接口:命令是一個接口,規定了用來封裝“請求”的若干個方法,比如execute()、undo()等方法.

ConcreteCommand(具體命令):是實例命令接口的類的實例。具體命令必須實現命令接口中的方法,比如execute()方法,使該方法封裝一個“請求”。

Invoker(請求者):是一個包含Command接口變量的類的實例。請求者中的Command接口的變量可以存放任何具體命令的引用。請求者負責調用具體命令,讓具體命令執行那些封裝了“請求”的方法,比如execute()方法。

?

  • 使用
  1. 接收者(Receive)??? Company.java
            public class CompanyArmy{
        public void sneakAttack(){
            System.out.println("我們知道如何偷襲敵人,保證完成任務");
        }
    }
          
    ?
  2. 命令(Command)接口
            public interface Command {
    	public void execute();
    }
          
    ?
  3. 具體命令(ConcreteCommand)
            public class ConcreteCommand implements Command {
    
    	CompanyArmy army;//含有接收者的引用
    	ConcreteCommand(CompanyArmy army){
    		this.army = army;
    	}
    	public void execute() {//封裝著指揮官的請求
    		army.sneakAttack();
    	}
    
    }
          
    ?
  4. 請求者(Invoker)
            public class ArmySuperior {
    	Command command;
    	public void setCommand(Command command){
    		this.command = command;
    	}
    	public void startExecuteCommand(){//讓具體命令執行execute方法
    		command.execute();
    	}
    }
          
    ?
  5. 模式的使用
            public class Main {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		//創建接收者
    		CompanyArmy ca = new CompanyArmy();
    		//創建具體命令并指定接收者
    		Command command = new ConcreteCommand(ca);
    		//創建命令的請求者
    		ArmySuperior commander = new ArmySuperior();
    		commander.setCommand(command);
    		commander.startExecuteCommand();
    	}
    
    }
          
  • 適合使用命令模式:
  1. 程序需要在不現時刻指定、排序和執行請求
  2. 程序需要提供撤銷操作
  3. 程序需要支持宏操作?

命令模式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 四虎影院免费在线 | 亚洲欧美综合人成野草 | 四虎成人免费观看在线网址 | 婷婷亚洲五月色综合 | 日韩精品亚洲一级在线观看 | 午夜j| 国产成人青草视频 | 成人网中文字幕色 | 久久精品国产2020观看福利色 | 97在线视频免费公开观看 | 亚洲人jizz| 国产女人嗷嗷叫 | 高清一区二区三区 | 亚洲一区小说区中文字幕 | 激情综合网色播五月 | 精品91视频 | 在线国产一区二区 | 久久国产这里只精品免费 | 亚洲国产精品国产自在在线 | 香蕉国产在线 | 91精品国产免费自在线观看 | 久久这里只精品国产99热8 | 我爱52avαv永久网站 | 成在线人免费视频一区二区三区 | 日韩精品亚洲人成在线播放 | 视频一区二区国产无限在线观看 | 久久久久久久国产精品视频 | 2021国产精品久久 | 国产亚洲精品欧美一区 | 亚洲综合一 | 四虎免费在线观看 | 免费观看一级欧美在线视频 | 美女牲交视频一级毛片 | 国产三级做爰在线播放最爱 | 狠狠狠色丁香婷婷综合久久五月 | 91国自产精品中文字幕亚洲 | 国产在线精品观看 | 午夜在线网址 | 黄网站www | 国产福利第一页 | 国产精品123区 |