工厂方法模式和抽象工厂模式有什么区别?

1,825 阅读1分钟

区别:

工厂方法模式只有一个抽象产品类,它的具体工厂类只能创建一种具体产品。
而抽象工厂有多个抽象产品类,它的具体工厂类每次可以产生一组多个具体产品

简单工厂:

1.工厂类:负责实现创建所有产品实例的内部逻辑,它可以被外部直接调用来创建所需实例。
2.抽象产品:所有产品的父类。用于描述所有产品公有的公共接口。
3.具体产品

工厂方法:

1.工厂类:功能和简单工厂相似,唯一区别是有抽象工厂具体工厂,具体工厂可以创建对应的产品对象。
2.抽象产品
3.具体产品

抽象工厂:

1.抽象工厂
2.具体工厂:可以创建一组产品对象。 3.抽象产品:可以有多个抽象产品类。
4.具体产品

具体参考:深入理解工厂模式——由对象工厂生成对象