spring2大功能就是ioc和aop
spring的aop应用了责任链和动态代理模式
spring的 ioc应用了策略模式和工厂模式
责任链模式:
当一个对象在一条链上把多个拦截器处理时(使多个对象都有机会处理请求)
责任链模式其实就是一个灵活版的if…else…语句,它就是将这些判定条件的语句放到了各个处理类中,这样做的优点是比较灵活了
动态代理模式:
一个对象不直接调用或者引用另一个对象的时候就可以应用代理模式在这两者对象之间构建一个桥梁--代理对象
通过为 Proxy 类指定 ClassLoader 对象和一组 interface 来创建动态代理类,通过反射机制获得动态代理类的构造函数,通过构造函数创建动态代理类实例,构造时调用处理器对象作为参数被传入
工厂模式:
客户端传一个条件进工厂类,工厂类根据条件创建相应的产品类对象,并return给客户端,供客户端使用。即客户端使用的是工厂类生产的产品对象。(工厂模式中我们只需要传递相应的条件就能得到想要的一个对象)
策略模式:
策略模式使用时必须首先创建一个想使用的类对象,然后将该对象参数传递进去,通过该对象调用不同的算法,Context将这个操作给了Context类,没有创建具体的对象,实现的代码的进一步封装,客户端代码并不需要知道具体的实现过程(定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换)
Factory是直接创建具体的对象并用该对象去执行相应的动作,而Context将这个操作给了Context类,没有创建具体的对象,实现的代码的进一步封装,客户端代码并不需要知道具体的实现过程。
大神博客推荐:http://blog.csdn.net/u012124438/article/details/70039943