建造者模式(builder)構(gòu)建模式

          定義
              將一個對象的復(fù)雜構(gòu)建過程和表示分離開
          含義
              就是將對象的復(fù)雜的構(gòu)建過程分離開,已達(dá)到解耦過程和部件。
          為何試用
              例如你需要加工手機(jī),如果每個型號的手機(jī)都有一個加工組裝廠,會不會感覺很多余呀。你只需要建造一個組裝廠即可,安裝的過程嗎肯定都是一樣的。所以你給我什么型號的手機(jī)部件我就給你組裝什么型號的手機(jī)。這樣將手機(jī)的組裝和手機(jī)的部件有效的分離開減少耦合。而且有利于維護(hù),比如說有一天手機(jī)天線不需要外置了,都已經(jīng)內(nèi)置了。那只要告訴組裝廠減去裝外置天線的哪一步就夠了。

          例子:

          public interface Builder {

            //創(chuàng)建部件A 
            void buildPartA();
            //創(chuàng)建部件B
            void buildPartB();

            //返回最后組裝成品結(jié)果
            //成品的組裝過程不在這里進(jìn)行,而是轉(zhuǎn)移到下面的Director類中進(jìn)行.
            //從而實現(xiàn)了解耦過程部件
            Product getResult();

          }

          public class Director {

            private Builder builder;

            public Director( Builder builder ) {
              this.builder = builder;
            }
            // 將部件partA partB最后組成復(fù)雜對象
            public void construct() {
              builder.buildPartA();
              builder.buildPartB();

            }

          }

          public class ConcreteBuilder implements Builder {

            Part partA, partB;
            public void buildPartA() {
              //這里是具體如何構(gòu)建partA的代碼

            };
            public void buildPartB() {
              //這里是具體如何構(gòu)建partB的代碼
            };
             public Product getResult() {
              //返回最后組裝成品結(jié)果
            };

          }

          我們看看如何調(diào)用Builder模式:
          ConcreteBuilder builder = new ConcreteBuilder();
          Director director = new Director( builder );
          director.construct();
          Product product = builder.getResult();

          posted on 2012-03-15 22:51 海峰 閱讀(109) 評論(0)  編輯  收藏 所屬分類: 設(shè)計模式

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宾阳县| 柳河县| 新营市| 永新县| 岳西县| 子洲县| 松江区| 天等县| 印江| 闸北区| 无棣县| 军事| 永年县| 鹤岗市| 通化县| 如皋市| 新余市| 都昌县| 临江市| 论坛| 长治市| 南木林县| 罗平县| 巴中市| 临江市| 玉门市| 横峰县| 泰来县| 大方县| 文登市| 区。| 虞城县| 二手房| 扎鲁特旗| 自贡市| 高尔夫| 沽源县| 图片| 家居| 甘德县| 综艺|