spring 的设计模式

工厂化模式:Spring框架是目前最流行的企业级开发框架之一。

工厂模式:Spring Bean的体系结构比较复杂,*接口是BeanFactory;BeanFactory共有三个子接口:ListableBeanFactory、HierarchicalBeanFactory和AutowireCapableBeanFactory,这三个子接口集成了*接口并对BeanFactory的功能进行了增强,称为二级接口;ConfigurableBeanFactory对二级接口HierarchicalBeanFactory进行了再次增强,它还继承了另一个外来的接口SingletonBeanRegistry,可以被称为三级接口;ConfigurableListableBeanFactory是一个更强大的接口,继承了上述的所有接口,称为四级接口。其余的为抽象类,实现了Spring Bean四级接口所定义的所有功能。

spring 的设计模式

代理模式(Proxy pattern)

代理模式为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式由抽象角色、代理角色和真实角色三种角色组成。

spring 的设计模式


策略模式

Spring中在实例化对象的时候用到Strategy模式,结构如图4所示。Spring中抽象策略实现的核心是AopProxy接口;Cglib2AopProxy和JdkDynamicAopProxy集成了核心接口,分别代表两种策略的实现方式;ProxyFactoryBean代表Spring中的Context角色,它根据条件选择使用Jdk代理方式或者是CGLIB方式;而另外三个类主要是来负责创建具体策略对象;ProxyFactoryBean是通过依赖的方法来关联具体策略对象的,它是通过调用策略对象的getProxy(ClassLoader classLoader)方法来完成操作。

spring 的设计模式