• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 自動測試:變化多端的輸出(5)

    發表于:2014-12-17來源:uml.org.cn作者:不詳點擊數: 標簽:自動測試
    String[] list = outputterList.split(;); 9 for (int i=0;i String outputter = list[i]; 11 if (outputter.equalsIgnoreCase(TXTOutputter)){ 12 oc.Add(new TXTOutputter()); 13 } 14 else if(outputter.equalsIg
    String[] list = outputterList.split(";"); 9
    for (int i=0;i
     
    String outputter = list[i]; 11
    if (outputter.equalsIgnoreCase("TXTOutputter")){ 12
    oc.Add(new TXTOutputter()); 13
    } 14
    else if(outputter.equalsIgnoreCase("XMLOutputter")){ 15
    /*oc.Add(new TXTOutputter());*/ 16
    } 17
    } 18
    return null; 19
    } 20
    21
    } 22

      代碼為示意代碼,真實代碼還有更多細節需要處理

      是的,就這么簡單。我們看到系統正常的工作了。也許你會問,那它是什么模式呢?我前面提過它是一種模式來著的。是的。它應該是組合模式(Composite Pattern)的一種退化形式。那為什么說他是退化的形式呢?我們先來看一下,組合模式的定義:

      合成(Composite)模型模式屬于對象的結構模式[GOF95],有時又叫做部分-整體(Part-Whole)模式。合成模式將對象組織到樹結構中,可以用來描述整體與部分的關系。合成模式可以客戶端將單純元素與復合元素同等看待。

      引用自《Java與模式》閻宏

      從這個定義可以看出合成模式大致有三個特點,一具用兩種對象,簡單對象和復雜對象,但兩種對象對客戶程序具有相同接口,二具有層次結構。三具有遞歸特性。

      從這些條件看來,我們的系統確實簡單的多,對于客戶程序來說,完全不知道有復雜對象,由于工廠的介入,系統不會有遞歸的情況出現,并且,對于該系統也沒有遞歸的要求。其實,這個輸出系統是組合模式,工廠模式,及寬窄接口方式綜合的來解決問題的。若上來就硬套一種模式的話,一定會帶來很大的煩麻。

    原文轉自:http://www.uml.org.cn/Test/200902127.asp

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>