1. 首页
  2. 编程面试题
  3. Java
  4. 设计模式

工厂模式与抽象工厂模式的区别?



首先来看看这两者的定义区别:

工厂模式:定义一个用于创建对象的借口,让子类决定实例化哪一个类

抽象工厂模式:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类

​ 个人觉得这个区别在于产品,如果产品单一,最合适用工厂模式,但是如果有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。再通俗深化理解下:工厂模式针对的是一个产品等级结构 ,抽象工厂模式针对的是面向多个产品等级结构的。

再来看看工厂方法模式与抽象工厂模式对比:

|工厂方法模式|抽象工厂模式|
|-|-|
|针对的是一个产品等级结构|针对的是面向多个产品等级结构|
|一个抽象产品类|多个抽象产品类|
|可以派生出多个具体产品类|每个抽象产品类可以派生出多个具体产品类|
|一个抽象工厂类,可以派生出多个具体工厂类|一个抽象工厂类,可以派生出多个具体工厂类|
|每个具体工厂类只能创建一个具体产品类的实例|每个具体工厂类可以创建多个具体产品类的实例|

发布者:admin,如若转载,请注明出处:https://ai1024.vip/27376.html

QR code
//