<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 176, comments - 240, trackbacks - 0, articles - 7

    數(shù)據(jù)導(dǎo)出的功能大致可以分解為三個(gè)部分: 1. 從數(shù)據(jù)源讀取一條記錄 2. 將一條記錄導(dǎo)出為指定格式 3. 循環(huán)調(diào)用1和2
    首 先我們需要一種機(jī)制來對(duì)外暴露數(shù)據(jù)源(一種Container)中的數(shù)據(jù),Iterator模式恰能滿足要求。其次,我們需要一種機(jī)制來對(duì)一系列數(shù)據(jù)進(jìn)行 處理,這對(duì)應(yīng)于Visitor模式。第三,在組合Iterator模式和Visitor模式的處理過程中,我們需要表達(dá)出平面表數(shù)據(jù)集的基本特征。
    在witrix平臺(tái)中,平面表數(shù)據(jù)導(dǎo)出和轉(zhuǎn)換通過TablePageProcessor對(duì)象來完成,
    class TablePageProcessor{
     IPageViewer viewer;

     public Object process(ITableVisitor visitor){
      Pager pager = new Pager(viewer, pageSize);
      Iterator it = pager.itemIterator();
      visitor.visitBegin(headers);
      while(it.hasNext()){
       Object row = it.next();
       if(!visitor.visitRow(row))
        break;
      }
      return visitor.visitEnd();
     }
    }

    interface ITableVisitor{
     void visitBegin(List headers);
     boolean visitRow(Object row);
     Object visitEnd();
    }

    IPageViewer是暴露平面表數(shù)據(jù)的標(biāo)準(zhǔn)接口,它通過Pager對(duì)象的包裝之后可以提供各種Iterator.
    ITableVisitor體現(xiàn)了平面表數(shù)據(jù)的基本特征: header + 一系列row, 存在數(shù)據(jù)邊界(起始與終止)
    TablePageProcessor固化了IPageViewer和ITableVisitor的組合過程。
    ITableVisitor可以有多種實(shí)現(xiàn),例如CSVBuilder, ExcelBuilder等等。
    主站蜘蛛池模板: 鲁丝片一区二区三区免费| 在线91精品亚洲网站精品成人| jyzzjyzz国产免费观看| 亚洲av无码成人精品区| 在线播放亚洲精品| 亚洲美女高清一区二区三区| 一级做a爰片久久毛片免费看| jjzz亚洲亚洲女人| 成在人线av无码免费高潮水| 国产∨亚洲V天堂无码久久久| a级毛片在线免费观看| 亚洲男人的天堂在线播放| 18以下岁毛片在免费播放| 亚洲国产精品美女| 免费观看的av毛片的网站| 日韩欧美亚洲中文乱码| 亚洲裸男gv网站| 中文字幕日本人妻久久久免费| 亚洲午夜视频在线观看| 免费电视剧在线观看| 亚洲AV成人无码网天堂| 久久久亚洲精品蜜桃臀| 人妻丰满熟妇无码区免费| 亚洲一卡2卡4卡5卡6卡在线99| 亚洲中文无码永久免费| 偷自拍亚洲视频在线观看| 亚洲高清国产AV拍精品青青草原 | 亚洲成av人在线视| 30岁的女人韩剧免费观看| 亚洲精品无码人妻无码| 亚洲视频在线免费| 91麻豆最新在线人成免费观看| 亚洲日韩一区二区三区| 亚洲人成无码网WWW| 91在线老王精品免费播放| 亚洲精品无码专区在线| 亚洲一区二区三区AV无码| 久久国产免费福利永久| 特级毛片A级毛片免费播放| 亚洲人成中文字幕在线观看 | 免费无码成人AV片在线在线播放|