設計模式-創(chuàng)建型模式-建造者模式
建造者模式即生成器模式邪媳,將一個復雜的構(gòu)建與它的表示分離捐顷,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示荡陷。
image
代碼如下
// 產(chǎn)品類
public class Product{
public void doSomething(){
// 業(yè)務處理
}
}
// 抽象建造者
public abstract class Builder {
// 設置產(chǎn)品,獲得不同的產(chǎn)品
public abstract void setPart();
// 建造產(chǎn)品
public abstract Product buildProduct();
}
// 具體的建造
public class ConcreteProduct extends Builder {
private Product product = new Product(); // 新建產(chǎn)品
// 設置產(chǎn)品
public void setPart(){
// 產(chǎn)品設置迅涮,對product進行設置
}
// 進行產(chǎn)品組建
public Product buildProduct(){
return product;
}
}
設置導演
public class Diector{
private Builder builder = new ConcreteProduct(); // 新建一個具體建造
// 構(gòu)建產(chǎn)品
public Product getAProduct(){
builder.setPart(); // 對要生產(chǎn)的產(chǎn)品進行設置
return builder.buildProduct(); // 生產(chǎn)出產(chǎn)品
}
}
總結(jié)
建造者模式废赞,即要對產(chǎn)品進行設置,進行生產(chǎn)叮姑,然后由一個導演將這些內(nèi)容封裝到一個方法里唉地,然后使用即可。
應用
游戲軟件传透,地圖包括天空耘沼,地面,背景等組成朱盐,人物也由這些組成群嗤,使用建造者模式,首先將天空托享,地面骚烧,背景,作為產(chǎn)品闰围,設計一個類赃绊,然后,設置建造者羡榴,根據(jù)不同的情況設置不同的地圖碧查,不同的地面,將設置參數(shù)傳入校仑,然后最后導演忠售,將這些方法封裝成一個方法,然后直接get即可得到一幅地圖迄沫。
人物也是如此稻扬。