spring 中常见的几种设计模式
享元模式:
是为了减少 对象的创建,而共用一些已经创建好的对象,减少内存占用和性能提高;
经典案例:Java 中的 Integer 使用了享元模式,-128 - 127 之间不会创建新对象,而是使用的 Integer cache 中的对象;
实现:
public class IntegerFactor{
复制代码
}
工厂模式
经典实现:spring 中的 beanFactory,ApplicationContext
模板模式
复制代码
单例模式
复制代码
代理模式
一个类代表另外一个类的功能;
经典案例:
复制代码
spring 代理分为接口代理与 CGLIB 字节层面代理,当类实现了接口时则使用接口代码的方式,没有实现接口则使用 cglib 代理方式
观察者模式
spring 中的事件驱动模型的实现,spring 中 观察者模式最常用的地方 listener 的实现;
策略模式
复制代码
经典实现 spring 中的资源加载,根据资源文件的不同来源,使用了不同的方法,如:classPathResource,urlResource,FileSystemResource,策略模式的实现,减少了很多的 if else,也可以说时将 if else 抽象成为了 策略模式
适配器模式
复制代码
装饰者模式
复制代码
版权声明: 本文为 InfoQ 作者【想要飞的猪】的原创文章。
原文链接:【http://xie.infoq.cn/article/0cb3832e926a942acfa4daa4e】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论