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