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運用到了該形式。
感激閱讀,希望能協助到大家,謝謝大家對本站的支持!