设计模式-工厂模式

简单工厂模式、工厂模式和抽象工厂模式,问题(1)三者的区别在哪里(2)想象一下应用场景,根据消息的标识,得到整个消息对象,这样的描述也似乎也和spring的container意义有相似的地方,那么这种container是否是一种工厂模式呢?

 

(1)  简单工厂模式是由一个具体的类去创建其他类的实例,父类是相同的,父类是具体的。
          工厂方法模式是有一个抽象的父类定义公共接口,子类负责生成具体的对象,这样做的目的是将类的实例化操作延迟到子类中完成。
          抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无须指定他们具体的类。它针对的是有多个产品的等级结构。而工厂方法模式针对的是一个产品的等级结构。

总之,所谓工厂就是不需要client亲自创建对象,只要根据一定的标识符,就可以从工厂中的获取对应的实例对象。工厂有容器的作用,可以将对象创建好,或者通过对对象定义文件的解析将对象缓存到一个container中,这个containner应类似于HashMap的作用。后一种方法也即为Spring IOC的基本思想。Spring的IOC还加上了对对象的声明周期的控制等功能。

 

(2)实际上Spring的IOC的实现就借助了工厂模式的实现,从IOC中最基本的BeanFactory接口就可以看出

一下为Spring IOC的全景,好好理解

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值