Builder模式定義:
          將一個(gè)復(fù)雜對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。
          剛接觸到這個(gè)模式的時(shí)候,實(shí)在搞不明白它的意思,有什么用。于是,上網(wǎng)google了一圈,終于得到這個(gè)大家普遍認(rèn)可的解釋:
          建造模式是一步一步創(chuàng)建一個(gè)復(fù)雜的對象,它允許用戶可以只通過指定復(fù)雜對象的類型和內(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模式,是把建造對象的過程分成一部分一部分來完成的。
          小結(jié):Builder模式主要是為了將構(gòu)建復(fù)雜對象的過程和它的部件解耦。使得我們不用去關(guān)心每個(gè)部件是如何組裝的。

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

          Copyright © flustar

          主站蜘蛛池模板: 江永县| 玉龙| 洞头县| 镇沅| 涟水县| 称多县| 浦江县| 镇雄县| 西青区| 庐江县| 安仁县| 青州市| 衢州市| 虞城县| 突泉县| 永嘉县| 和林格尔县| 山东省| 嘉兴市| 苏州市| 陵川县| 石景山区| 锡林浩特市| 舟曲县| 重庆市| 武鸣县| 开封县| 温宿县| 延津县| 皮山县| 太湖县| 府谷县| 垣曲县| 成都市| 泰来县| 肥东县| 揭西县| 新龙县| 长白| 德令哈市| 缙云县|