亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUNIT源碼探秘系列(下)
作者:網絡轉載 發布時間:[ 2013/4/16 14:34:04 ] 推薦標簽:

JUNIT源碼探秘(四):Junit代碼分析之命令模式

 Junit在執行測試代碼時,使用了命令模式,那么什么是命令模式,拿幾個例子來說明下。

在《java與模式》書中,用一個很生動的例子來說明命令模式,“玉帝傳美猴王上天”。在這我們也用這個例子說明下;這個事情整個過程如下:

玉帝傳美猴王上天

整個過程有兩個很明顯的角色,玉帝和美猴王;仔細想想,這個玉帝不可能親自教美猴王去吧?那么派誰去呢?通過簡單分析,兩外一個角色出現了,傳遞命令者(設計模式中叫調用者)宮中的跟隨者或者太監等人,那么玉帝派太白金星;光太白金星自己去還不行,必須拿著玉帝的信物,比如圣旨、或者其他。那么到底是什么東西呢?這個要看玉帝給他什么東西,他拿什么東西;在仔細想想,那么玉帝給的東西可能裝在一個盒子里或者信封里,具體什么東西都無所謂了,那么我們可以把這個盒子或者信封看做這個信物的接口,而盒子或者信物里的具體信物看做一個實現類。

通過這么一分析,那么我們可以看出整個命令模式中有五個對象:

傳遞信物的盒子或者信封

信封或者盒子中的具體信物

傳遞信息者太白金星

下達指令者玉皇大帝

執行命令著美猴王

在命令模式中剛好也有五個角色如下:

客戶(Client)角色:創建一個具體的命令(ConcreteCommand)對象,并確定其接受者。這個角色當然是玉皇大帝了。

命令(Command)角色:聲明給所有具體命令類的抽象接口,這是一個抽象角色,通常通過java的接口實現;這個對應到這個實例中可以看做是傳遞信物的盒子或者信封等

具體命令(ConcreteCommand)角色:定義一個接收者和行為之間的弱耦合,實現execute()方法,負責調用接受者的相應操作,execute()方法通常叫執行方法,對應到實例可以看做是盒子里的具體信物,比如圣旨、或者其他具有玉皇大帝省份標示的東西

請求者(Invoker)角色:負責調用命令對象執行請求,相關的測試方法叫做行動方法。在這個實例中太白金星扮演這個角色。

接受者(Receiver)角色:負責具體實施和請求一個請求。任何一個類都可以成為接受者,實施和執行請求的方法叫做行動方法。這個實例中這個角色自然是美猴王了。

       具體代碼實現,先從接受者開始

         接受者(Receiver)

public class Receiver {

   public void doAction(){

      System.out.println("上天");

   }

}

命令(Command)

public interface Command {

   public void execute();

}

具體命令(ConcreteCommand)

public class ConcreteCommand implements Command {

   private Receiver receiver;

 

   public ConcreteCommand(Receiver receiver) {

      this.receiver = receiver;

   }

   public void execute() {

      receiver.doAction();

   }

}

 

請求者(Invoker)

public class Invoker {

   private Command command;

   public Invoker(Command command) {

      this.command = command;

   }

   public void doInvokerAction() {

      command.execute();

   }

}

客戶(Client)

public class Client {

   public static void main(String[] args)

   {

      Receiver receiver = new Receiver();   

      Command command = new ConcreteCommand(receiver);

      Invoker invoker = new Invoker(command);

      invoker.doInvokerAction();

   }

}

上一頁1234567下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 亚洲国产91 | 男女无遮挡毛片免费视频 | 怡红院视频网 | 免费一级毛片在线播放放视频 | 小优视频在线观看网 | 欧美国产大片 | 夜夜澡人人爽人人喊_欧美 夜夜躁天天躁很很躁 | 午夜人体视频 | 男女在线 | 一区二区中文字幕在线观看 | 日韩综合网站 | 72式性无遮挡免费视频观看 | 亚洲图片综合网 | 丁香六月狠狠激情综合基地 | 免费观看视频成人国产 | 日本一区二区三区视频在线 | 日韩中文精品亚洲第三区 | h色视频在线 | 中文字幕精品视频在线观 | 看全色黄大色黄女片做 | 久久精品国产亚洲综合色 | 久久v| 成年人在线播放视频 | 欧美精品videosex另类 | 亚洲天堂网在线播放 | 欧美性xxx极品hd高清 | 美女视频很黄很暴黄是免费的 | 日韩大片免费观看视频播放 | 免费观看国产精品 | 射久久 | 欧美激情亚洲激情 | 国产成人精品日本亚洲语音1 | 91亚洲导航深夜福利 | 成人三级精品视频在线观看 | 国产成人99精品免费观看 | 国产福利午夜波多野结衣 | 日韩免费高清视频网站 | 亚洲欧美在线看 | 日韩日韩日韩手机看片自拍 | 日韩精品1区 | 中文字幕在线综合 |