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

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

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

    本站不再更新,歡迎光臨 java開發技術網
    隨筆-230  評論-230  文章-8  trackbacks-0

    構建模式的定義:
    將一個復雜的對象構建與它的表示分離開來,使用樣的構建過程可以創建不同的表示。
    Builder 模式是一步一步創建一個復雜的對象,它充許用戶通過指定復雜對象類型和內容就可以構建它們。用戶不需知道其內部細節。Builder非常類似操象工廠模式,只有在使用中才能區別開來。一個使用例子:
    package com.pdw.pattern;
    ?
    /*
    ?* 小對象的創建接口
    ?*/
    interface PartA{
    ?public void builderA();
    ?public void outPartAInfo();
    }
    interface PartB{
    ?public void builderB();
    }
    /*
    ?* 大對象創建接口
    ?*/
    interface Builder{
    ?void buildPartA();
    ?void buildPartB();
    ?Produce getResult();
    }

    /*
    ?* 產品接口
    ?*/
    interface Produce{
    ?public void OutProduceInfo();
    }

    /*
    ?* 構建部件
    ?*/
    class Director{
    ?private Builder builder;
    ?
    ?public Director(Builder vbuilder){
    ??this.builder=vbuilder;
    ?}
    ?
    ?public void construct(){
    ??builder.buildPartA();
    ??builder.buildPartB();
    ?}
    ?
    }
    /*
    ?* 部件實現類
    ?*/
    class PartAImpl implements PartA{

    ?public void builderA() {
    ??// TODO Auto-generated method stub
    ??System.out.print("PartA組裝完成...");
    ?}

    ?public void outPartAInfo() {
    ??// TODO Auto-generated method stub
    ??System.out.println("PartA 信息。。。 ");
    ?}
    ?
    }
    class PartBImpl implements PartB{

    ?public void builderB() {
    ??// TODO Auto-generated method stub
    ??System.out.println("構造部件B完成....");
    ?}
    ?
    }
    class ProduceImpl implements Produce{

    ?private PartA pa;
    ?private PartB pb;
    ?private ProduceImpl(){}

    ?public? ProduceImpl(PartA pa,PartB pb){
    ??this.pa=pa;
    ??this.pb=pb;
    ?}
    ?public void OutProduceInfo() {
    ??// TODO Auto-generated method stub
    ??pa.builderA();
    ??pb.builderB();
    ??pa.outPartAInfo();
    ??System.out.println("這里輸入了產品信息,當然產品還有很多功能方法沒寫呵");
    ?}
    ?
    }
    class Cbuilder implements Builder{
    ?PartA pa;
    ?PartB pb;
    ?public void buildPartA() {
    ??pa=new PartAImpl(); //具體子部件實現代碼
    ??
    ?}

    ?public void buildPartB() {
    ??
    ??pb=new PartBImpl();
    ?}

    ?public Produce getResult() {
    ??ProduceImpl pi=new ProduceImpl(pa,pb);
    ??return pi;
    ?}
    ?
    }

    ?


    public class BuilderImpl {

    ?
    ?
    ?/**
    ? * @param args
    ? */
    ?public static void main(String[] args) {
    ??// TODO Auto-generated method stub
    ??Cbuilder builder=new Cbuilder();
    ??Director d=new Director(builder);
    ??d.construct();
    ??Produce p=builder.getResult();
    ??p.OutProduceInfo();
    ?}

    }

    posted on 2006-06-29 22:52 有貓相伴的日子 閱讀(2261) 評論(0)  編輯  收藏 所屬分類: Patterns
    本站不再更新,歡迎光臨 java開發技術網
    主站蜘蛛池模板: 免费人成网上在线观看| 亚洲色大成网站www永久男同 | 3d动漫精品啪啪一区二区免费| 国产亚洲AV手机在线观看| 永久免费观看黄网站| 国产亚洲人成A在线V网站 | 成人一区二区免费视频| 久久亚洲2019中文字幕| 丁香花在线观看免费观看图片| 国产亚洲精品AA片在线观看不加载| 国产福利在线观看永久免费| 伊人亚洲综合青草青草久热| 成人片黄网站色大片免费观看APP| 亚洲国产AV无码专区亚洲AV| 久久久久高潮毛片免费全部播放| 91亚洲国产在人线播放午夜| 男女做羞羞的事视频免费观看无遮挡 | 亚洲国产精品一区二区久| 波多野结衣免费在线观看| 亚洲AV无码精品蜜桃| 国产一级理论免费版| 国产精品免费久久久久影院| 亚洲国产综合91精品麻豆| 波多野结衣免费在线观看| 国产亚洲美女精品久久久久| 久久亚洲AV永久无码精品| 99热在线精品免费播放6| 亚洲精品123区在线观看| 免费女人18毛片a级毛片视频| aa在线免费观看| 亚洲第一成年网站大全亚洲| 国产一级特黄高清免费大片| 日本道免费精品一区二区| 亚洲av极品无码专区在线观看| 日本不卡在线观看免费v| 免费人成在线观看视频高潮| 亚洲乱码中文论理电影| xvideos亚洲永久网址| 97av免费视频| 猫咪www免费人成网站| 亚洲色图校园春色|