在Spring IOC容器中,我们需要创建工厂,用来管理我们需要创建的对象,因此这时就需要我们了解什么是工厂,这篇简单的小短文,可能会帮你入门,如果稍微想要仔细了解一下,可以查看这个微博https://blog.csdn.net/jason0539/article/details/23020989
在面向对象编程中,一般来说,我们需要哪个类的对象,就会自己取new 一个类的对象实例。这是根据我们需要什么,然后自己去创建什么。
在一些情况下,我们并不想直接new 一个对象,例如,我们创建一些对象前,需要其他的一系列的步骤,可能会设置这个或获取这个对象的出事这,选择生成哪个对象自理;或者这生成这个对象之前,需要先生成这个对象的一些辅助功能的对象。例如我们要创建一个车的对象,我们就需要这个车的信息对象,或者部件对象,然后使车对象依赖这些对象。可以说是组装模型,一个大的部件,需要若干个小的部件。而工厂模式就会简化我们的操作,是我们不必关心构造对象实例的细节和复杂过程,而仅仅是得到这个对象即可。
工厂模式:
(1)简单工厂模式:我们需要一个对象,会有一个工厂帮我们创建这个对象
(2)工厂方法模式:这个对象会有很多其子对象,我们需要创建很多个具体的工厂,来创建这些子对象
(3)抽象工厂模式:这个对象会需要其他的功能或者对象,即我们是实现除此以外的对象,纪委抽象工厂模式。
他们之间的区别:
简单工厂模式:
建立一个工厂来制造新的对象
工厂方法模式:
一个抽象产品类,可以派生出很多具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
抽象工厂模式:
多个抽象产品类,每个抽象产品类可以派生多个具体的产品类。
一个抽象工厂,可以派生出多个具体工厂类。
区别:
工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。
工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。
两者皆可
简单工厂模式又叫做静态工厂方法模式,重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。
工厂方法模式是去掉了简单工厂模式中工厂方法的静态属性,使其可以子类继承。这样子,他可以创建很多这个工厂的子工厂,可以用于更细分工厂来创建不同的对象。
原文地址:https://www.cnblogs.com/l-x-x-y-d-j/p/9899854.html