1、工厂模式
在各种BeanFactory以及ApplicationContext创建中都有用到
2、模板模式
在各种BeanFactory以及ApplicationContext创建中都有用到
3、代理模式
SpringAOP利用了AspectJ AOP实现的,Aspectj AOP的底层用的就是动态代理
4、策略模式
a、用于加载资源文件,会使用不同的方法,比如:ClassPathResource,FileSystemResource,ServletContextResource,UrlResource,但是他们都实现了一个共同的接口Resource;
b、在Aop的实现中可以采用两种不同的方式,JDK的动态代理和cglib代理。
5、单例模式
比如我们在创建bean的时候
6、观察者模式
spring中的ApplicationListener,ApplicationEvent,ApplicationEventPublisher
7、适配器模式
MethodBeforeAdviceAdapter,ThrowAdviceAdapter,AfterReturningAdapter
8、装饰者模式
我们打开一些源码,可以看到一些类型带有Wrapper或者Decorator的都是的
文章详细阐述了Spring框架中运用的设计模式,包括工厂模式在BeanFactory和ApplicationContext中的应用,模板模式的使用,SpringAOP基于动态代理的代理模式实现,策略模式在资源加载和AOP中的体现,单例模式在创建bean时的角色,观察者模式通过ApplicationListener和ApplicationEvent实现,适配器模式如MethodBeforeAdviceAdapter,以及装饰者模式在源码中的体现。
8804

被折叠的 条评论
为什么被折叠?



