国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java Builder Pattern建造者模式詳解及實例

2019-11-26 13:16:35
字體:
來源:轉載
供稿:網友

Java Builder Pattern

1.概念

    將一個復雜的構建與其表示相分離,使得同樣的構建過程可以創建不同的表示。 [構建與表示分離,同構建不同表示]

    與抽象工廠的區別:在建造者模式里,有個指導者,由指導者來管理建造者,用戶是與指導者聯系的,指導者聯系建造者最后得到產品。即建造模式可以強制實行一種分步驟進行的建造過程。

  建造模式是將復雜的內部創建封裝在內部,對于外部調用的人來說,只需要傳入建造者和建造工具,對于內部是如何建造成成品的,調用者無需關心。

  舉個簡單的例子,如汽車,有很多部件,車輪,方向盤,發動機還有各種小零件等等,部件很多,但遠不止這些,如何將這些部件裝配成一部汽車,這個裝配過程也很復雜(需要很好的組裝技術), builder模式就是為了將部件和組裝分開。

2.UML圖

3.代碼

 public interface Builder {     void buildPartA();     void buildPartB();     void buildPartC();       Product getResult();   }   //具體建造工具  public class ConcreteBuilder implements Builder {     Part partA, partB, partC;     public void buildPartA() {      //這里是具體如何構建partA的代碼    };     public void buildPartB() {       //這里是具體如何構建partB的代碼    };      public void buildPartC() {       //這里是具體如何構建partB的代碼    };      public Product getResult() {       //返回最后組裝成品結果    };   }  //建造者  public class Director {    private Builder builder;       public Director( Builder builder ) {       this.builder = builder;     }     public void construct() {       builder.buildPartA();      builder.buildPartB();      builder.buildPartC();     }   }   public interface Product { }  public interface Part { }

    下面是調用builder的方法:

  ConcreteBuilder builder = new ConcreteBuilder();  Director director = new Director( builder );     director.construct();   Product product = builder.getResult();

4.應用場景

在Java的應用中JavaMail使用到了該模式。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乐都县| 福海县| 章丘市| 泗水县| 从化市| 威信县| 济源市| 沧源| 乡宁县| 光泽县| 汉川市| 镇远县| 水城县| 茶陵县| 临湘市| 九寨沟县| 芦山县| 蒙城县| 琼中| 汝城县| 油尖旺区| 滕州市| 宁河县| 屏东市| 鹰潭市| 临高县| 旅游| 特克斯县| 临泉县| 绍兴县| 中方县| 新邵县| 金川县| 金溪县| 闵行区| 扶绥县| 凯里市| 吉首市| 信宜市| 信宜市| 康定县|