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

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

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

    發表于:2011-10-12來源:未知作者:領測軟件測試網采編點擊數: 標簽:自動測試
    { 10 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 TXTOu

    { 10

    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.kjueaiud.com

    老湿亚洲永久精品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>