程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java Builder Pattern建造者形式詳解及實例

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

編輯:關於JAVA

Java Builder Pattern建造者形式詳解及實例。本站提示廣大學習愛好者:(Java Builder Pattern建造者形式詳解及實例)文章只能為提供參考,不一定能成為您想要的結果。以下是Java Builder Pattern建造者形式詳解及實例正文


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運用到了該形式。

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved