Builder模式定義:
          將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。
          剛接觸到這個(gè)模式的時(shí)候,實(shí)在搞不明白它的意思,有什么用。于是,上網(wǎng)google了一圈,終于得到這個(gè)大家普遍認(rèn)可的解釋:
          建造模式是一步一步創(chuàng)建一個(gè)復(fù)雜的對(duì)象,它允許用戶可以只通過指定復(fù)雜對(duì)象的類型和內(nèi)容就可以構(gòu)建它們,用戶不知道內(nèi)部的具體構(gòu)建細(xì)節(jié)。
          下面舉一個(gè)例子來說明這個(gè)模式的使用,代碼如下:
          import java.util.ArrayList;

          interface Builder{
           public void buildPartA();
           public void buildPartB();
           public void buildPartC();
           public Product getProduct();
          }
          class Product{
           
           private ArrayList<String> parts=new ArrayList<String>();
           public void add(String part){
            parts.add(part);
           }
           public void show(){
            System.out.println("Product有以下幾部分構(gòu)成:");
            for(String s:parts){
             System.out.println(s);
            }
           }
          }

          class Worker implements Builder{
              private Product product;
             
           public void buildPartA() {
            product=new Product();
            product.add("A部分");
            
           }

           public void buildPartB() {
            product.add("B部分");
            
           }

           public void buildPartC(){
            product.add("C部分");
            
           }
           public Product getProduct(){
            return product;
           }
           
          }
          class Designer{
           public void order(Builder builder){
            builder.buildPartA();
            builder.buildPartB();
            builder.buildPartC();
           }
          }
          public class Test {

           public static void main(String[] args) {
            Designer designer=new Designer();
            Builder builder=new Worker();
            designer.order(builder);
            Product product =builder.getProduct();
            product.show();

           }
          }
          輸出結(jié)果如下:
          Product有以下幾部分構(gòu)成:
          A部分
          B部分
          C部分
          從這個(gè)例子我們可以看出Builder模式,是把建造對(duì)象的過程分成一部分一部分來完成的。
          小結(jié):Builder模式主要是為了將構(gòu)建復(fù)雜對(duì)象的過程和它的部件解耦。使得我們不用去關(guān)心每個(gè)部件是如何組裝的。

          posts - 146, comments - 143, trackbacks - 0, articles - 0

          Copyright © flustar

          主站蜘蛛池模板: 吉隆县| 长兴县| 海林市| 贞丰县| 阿城市| 叙永县| 青神县| 中西区| 筠连县| 昭觉县| 石泉县| 城口县| 开封县| 福海县| 新乐市| 伊宁县| 淮南市| 报价| 苏尼特右旗| 灵川县| 长治市| 广南县| 呼和浩特市| 漠河县| 塔城市| 开封县| 旬邑县| 嘉荫县| 黄平县| 前郭尔| 林西县| 怀集县| 金沙县| 吴堡县| 永宁县| 遵义县| 靖西县| 湄潭县| 邵阳市| 资源县| 抚松县|