建造者模式和抽象工廠的區別
阿新 • • 發佈:2019-01-09
1 建造者模式是把物件的建立分散開來,比如幾個函式
比如
interface builderDemo {
void bulidHead();
void bulidBody();
void bulidFoot();
}
然後 由具體類實現,實現建立物件的分解
2 抽象工廠 相對於普通工廠 或者簡單工廠 普通工廠的工廠實現是一個產品 抽象工廠的工廠實現是多個產品族 (一個產品族包含幾個不同的產品的某一系列) 比如 抽象工廠的一個舉例 實現的是baoma的各個車系 用到A B C 部件 ,根據價格檔次劃分 A B C 又分為 A1 A2 A3 , B1 B2 B3 ,C1 C2 C3 抽象工廠的一個抽象的實現
abstract class createBaoma{
abstract Baoma320 createBaoma320(); // 具體實現 使用 A1 B1 C1
abstract Baoma520 createBaoma520(); // 具體實現 使用 A2 B2 C2
abstract Baoma740 createBaoma740(); // 具體實現 使用 A3 B3 C3
}
對比 1 2 可以 發現建造者模式 所有函式 加一起才能實現一個物件
而抽象工廠或者簡單工廠 一個函式就可以創造一個物件
建造者模式是創造複雜物件時候的一種分解方式