建造者模式和抽象工厂的区别

Posted 琅琊山二当家

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了建造者模式和抽象工厂的区别相关的知识,希望对你有一定的参考价值。

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 可以 发现建造者模式 所有函数 加一起才能实现一个对象
   而抽象工厂或者简单工厂 一个函数就可以创造一个对象
   建造者模式是创造复杂对象时候的一种分解方式 

 

 

以上是关于建造者模式和抽象工厂的区别的主要内容,如果未能解决你的问题,请参考以下文章

设计模式系列-Builder模式,工厂方法模式和抽象工厂模式

建造者模式

工厂模式,简单工厂模式,抽象工厂模式三者有啥区别

设计模式----创建型模式之建造者模式与工厂模式区别

建造者模式

建造者模式