spring中用到哪些设计模式

1.工厂模式,这个很明显,在各类BeanFactory以及ApplicationContext建立中都用到了;html

2.模版模式,这个也很明显,在各类BeanFactory以及ApplicationContext实现中也都用到了;性能

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

4.单例模式,这个好比在建立bean的时候。htm

5.Tomcat中有不少场景都使用到了外观模式,由于Tomcat中有不少不一样的组件,每一个组件须要相互通讯,但又不能将本身内部数据过多地暴露给其余组件。用外观模式隔离数据是个很好的方法。对象

6.策略模式在Java中的应用,这个太明显了,由于Comparator这个接口简直就是为策略模式而生的。Comparable和Comparator的区别一文中,详细讲了Comparator的使用。比方说Collections里面有一个sort方法,由于集合里面的元素有多是复合对象,复合对象并不像基本数据类型,能够根据大小排序,复合对象怎么排序呢?基于这个问题考虑,Java要求若是定义的复合对象要有排序的功能,就自行实现Comparable接口或Comparator接口.blog

7.原型模式:使用原型模式建立对象比直接new一个对象在性能上好得多,由于Object类的clone()方法是一个native方法,它直接操做内存中的二进制流,特别是复制大对象时,性能的差异很是明显。排序

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

相关文章
相关标签/搜索