設計模式-建立型模式-建造者模式
建造者模式即生成器模式,将一個複雜的建構與它的表示分離,使得同樣的建構過程可以建立不同的表示。
代碼如下// 産品類
public class Product{
public void doSomething(){
// 業務處理
}
}
// 抽象建造者
public abstract class Builder {
// 設定産品,獲得不同的産品
public abstract void setPart();
// 建造産品
public abstract Product buildProduct();
}
// 具體的建造
public class ConcreteProduct extends Builder {
private Product product = new Product(); // 建立産品
// 設定産品
public void setPart(){
// 産品設定,對product進行設定
}
// 進行産品組建
public Product buildProduct(){
return product;
}
}
設定導演
public class Diector{
private Builder builder = new ConcreteProduct(); // 建立一個具體建造
// 建構産品
public Product getAProduct(){
builder.setPart(); // 對要生産的産品進行設定
return builder.buildProduct(); // 生産出産品
}
}
總結
建造者模式,即要對産品進行設定,進行生産,然後由一個導演将這些内容封裝到一個方法裡,然後使用即可。
應用
遊戲軟體,地圖包括天空,地面,背景等組成,人物也由這些組成,使用建造者模式,首先将天空,地面,背景,作為産品,設計一個類,然後,設定建造者,根據不同的情況設定不同的地圖,不同的地面,将設定參數傳入,然後最後導演,将這些方法封裝成一個方法,然後直接get即可得到一幅地圖。
人物也是如此。