spring中用到的设计模式

spring中用到的设计模式:

1.工厂模式:
在各种BeanFactory以及ApplicationContext创建中都用到了;

2.模版模式:
在各种BeanFactory以及ApplicationContext实现中也都用到了;

3.代理模式:
在Aop实现中用到了JDK和CJLIB的动态代理;

4.单例模式:
这个比如在创建bean的时候,处理循环依赖问题时候。

5.Tomcat中使用外观模式:
因为Tomcat中有很多不同的组件,每个组件需要相互通
信,但又不能将自己内部数据过多地暴露给其他组件。用外观模式隔离数据是个很好的方法。

6.策略模式
在Java中的应用,Comparator这个接口就是为策略模式。比如说Collections里面有一个sort方法,因为集合里面的元素有可能是复合对象,复合对象并不像基本数据类型,可以根据大小排序,复合对象怎么排序呢?基于这个问题考虑,Java要求如果定义的复合对象要有排序的功能,就自行
实现Comparable接口或Comparator接口。

7.原型模式:
使用原型模式创建对象比直接new一个对象在性能上好得多,因为Object类的clone()方法是一个native方法,它直接操作内存中的二进制流,特别是复制大对象时,性能的差别非常明显。

8.迭代器模式:
Iterable接口和Iterator接口 这两个都是迭代相关的接口,可以这么认为,实现了Iterable接口,则表示某个对象是可被迭代的;Iterator接口相当于是一个迭代器,实现了Iterator接
口,等于具体定义了这个可被迭代的对象时如何进行迭代的。

后续将分享各种设计模式的应用场景及代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值