spring源码也读了两遍了,但对于里面描述的关系还是不太清楚,以后再多读几遍吧,但总还有些收获的,下面就说说spring用到的设计模式主要有哪些:
1.工厂模式,这个很明显,在各种BeanFactory以及ApplicationContext创建中都用到了;
2.模版模式,这个也很明显,在各种BeanFactory以及ApplicationContext实现中也都用到了;
3.代理模式,在Aop的实现中用到了JDK的动态代理;
4.策略模式,第一个地方,加载资源文件的方式,使用了不同的方法,比如:ClassPathResourece,FileSystemResource,ServletContextResource,UrlResource但他们都有共同的借口Resource;第二个地方就是在Aop的实现中,采用了两种不同的方式,JDK动态代理和CGLIB代理;
5.单例模式,这个比如在创建豆的时候。
就说以上这些,说的也不是很清楚,如果想搞明白,还是多看几遍代码吧,当然还用到了其他的设计模式,就不多说了。