Spring IOC下的工厂模式

在Spring IOC容器中,我们需要创建工厂,用来管理我们需要创建的对象,因此这时就需要我们了解什么是工厂,这篇简单的小短文,可能会帮你入门,如果稍微想要仔细了解一下,可以查看这个微博https://blog.csdn.net/jason0539/article/details/23020989

在面向对象编程中,一般来说,我们需要哪个类的对象,就会自己取new 一个类的对象实例。这是根据我们需要什么,然后自己去创建什么。

 在一些情况下,我们并不想直接new 一个对象,例如,我们创建一些对象前,需要其他的一系列的步骤,可能会设置这个或获取这个对象的出事这,选择生成哪个对象自理;或者这生成这个对象之前,需要先生成这个对象的一些辅助功能的对象。例如我们要创建一个车的对象,我们就需要这个车的信息对象,或者部件对象,然后使车对象依赖这些对象。可以说是组装模型,一个大的部件,需要若干个小的部件。而工厂模式就会简化我们的操作,是我们不必关心构造对象实例的细节和复杂过程,而仅仅是得到这个对象即可。

工厂模式:

(1)简单工厂模式:我们需要一个对象,会有一个工厂帮我们创建这个对象

(2)工厂方法模式:这个对象会有很多其子对象,我们需要创建很多个具体的工厂,来创建这些子对象

(3)抽象工厂模式:这个对象会需要其他的功能或者对象,即我们是实现除此以外的对象,纪委抽象工厂模式。

他们之间的区别:

简单工厂模式:

     建立一个工厂来制造新的对象

扫描二维码关注公众号,回复: 3911674 查看本文章

工厂方法模式:

     一个抽象产品类,可以派生出很多具体产品类。

    一个抽象工厂类,可以派生出多个具体工厂类。

 抽象工厂模式:

多个抽象产品类,每个抽象产品类可以派生多个具体的产品类。

一个抽象工厂,可以派生出多个具体工厂类。

区别:
工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。   
工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。
两者皆可

简单工厂模式又叫做静态工厂方法模式,重命名上就可以看出这个模式一定很简单。它存在的目的很简单:定义一个用于创建对象的接口。 

工厂方法模式是去掉了简单工厂模式中工厂方法的静态属性,使其可以子类继承。这样子,他可以创建很多这个工厂的子工厂,可以用于更细分工厂来创建不同的对象。

猜你喜欢

转载自www.cnblogs.com/l-x-x-y-d-j/p/9899854.html
今日推荐