Spring中的设计模式
文章目录
一、Spring中的设计模式总结
只大致进行总结,核心的使用需要自己结合源码进行分析。
1.1 依赖倒置原则
- 控制反转(IoC)
- 依赖注入(DI)
1.2 工厂模式
- BeanFactory 或 ApplicationContext 创建 bean 对象
1.3 单例模式
- getSingleton()方法
1.4 代理模式
- AOP
1.5 模板方法模式
- 到处都是
- parseBeanDefinition()前后的钩子方法
- jdbcTemplate
1.6 观察者模式
- Spring 事件驱动模型
- ApplicationContextEvent
- ApplicationListener
- ApplicationEventPublisher
1.7 适配器模式
- Spring AOP 的增强使用到了适配器模式,与之相关的接口是AdvisorAdapter
- Spring MVC的HandlerAdapter:Spring MVC 中的 Controller 种类众多,不同类型的 Controller 通过不同的方法来对请求进行处理,防止过多的if…else…判断
1.8 装饰者模式
- Spring 中用到的装饰者模式在类名上含有 Wrapper或者 Decorator
1.9 责任链模式
- AOP
- Spring MVC
1.10 策略模式
- Resource接口
JDK中的设计模式
2.1 单例
- Runtime
- NumberFormat
2.2 静态工厂
- Integer.valueOf
- Class.forName
2.3 工厂方法
- Collection.iterator
2.4 抽象工厂
- java.sql包
2.5 原型
- Object.clone
- Cloneable
2.6 适配器
- InputStreamReader(InputStream)
- OutputStreamWriter(OutputStream)
2.7 Decorator
- java.io包
- Collections#synchronizedList(List)
2.8 策略
- ThreadPoolExecutor中的四种拒绝策略