<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 有貓相伴的日子 閱讀(2260) 評論(0)  編輯  收藏 所屬分類: Patterns
    本站不再更新,歡迎光臨 java開發技術網
    主站蜘蛛池模板: 亚洲爆乳精品无码一区二区三区 | 亚洲精品无码久久久| 亚洲欧洲久久精品| 91福利视频免费| 亚洲第一成年人网站| 1000部无遮挡拍拍拍免费视频观看| 亚洲精品免费在线观看| 在线免费中文字幕| 亚洲国产精品一区二区久| 免费无码精品黄AV电影| 亚洲精品无码国产片| gogo全球高清大胆亚洲| jizz免费一区二区三区| 亚洲AV无码久久精品蜜桃| 精品免费人成视频app| 亚洲精品久久无码av片俺去也 | jizz免费在线观看| 亚洲日韩欧洲无码av夜夜摸| 国内永久免费crm系统z在线| 久久久久亚洲Av无码专| 欧美日韩国产免费一区二区三区| 亚洲中文字幕无码爆乳app| 免费a级毛片网站| a国产成人免费视频| 亚洲国产人成在线观看| 国产网站免费观看| 中文字幕的电影免费网站| 中文字幕在线观看亚洲| 日本特黄特色aa大片免费| 国产A∨免费精品视频| 亚洲伦理一区二区| 在线免费一区二区| 成在人线av无码免费高潮水| 亚洲欧洲精品视频在线观看| 成人永久免费高清| 美女被cao网站免费看在线看| 97久久国产亚洲精品超碰热| 亚洲欧洲中文日韩av乱码| 91久久精品国产免费一区| 337p日本欧洲亚洲大胆人人| 亚洲成Av人片乱码色午夜|