1. 程式人生 > >建造者模式和抽象工廠的區別

建造者模式和抽象工廠的區別

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 可以 發現建造者模式 所有函式 加一起才能實現一個物件
   而抽象工廠或者簡單工廠 一個函式就可以創造一個物件
   建造者模式是創造複雜物件時候的一種分解方式