设计模式是为了在软件开发中对相同表征的问题 , 抽象出的可重复利用的解决方案
分类
1.创建型模式 : 对对象创建过程中的各种问题和解决方案的总结 , 包括各种工厂模式 , 单例模式 , 构建器模式 , 原型模式
例子:构建器模式:httpRequest 构建其headers
2.结构型模式: 针对软件设计结构的总结 , 包括桥接模式 , 适配器模式 , 装饰器模式 , 代理模式 , 组合模式 , 外观模式等
例子:inputStream 装饰器模式 , 不使用这个抽象类 , 使用它的子类bufferedInputStream 和 fileInputStream等
XXFacade(外观模式): 就是找一个代理对象来访问该系统 , 这个对象封装了原系统的所有接口和方法, 提供简单的api 比如:JUnitCore就是JUnit的一个实现类
3.行为型模式: 是从类或对象之间交互,职业划分等角度总结的模式 , 如策略模式 , 解释器模式 , 命令模式 , 观察者模式 , 迭代器模式 , 模板方法模式 , 访问者模式...
例子:比如spring里的JDBCTemplate , 就是典型的模板模式
Spring中使用的设计模式:
1.工厂模式 BeanFactory和ApplicationFactory
2.在bean的创建中 , Spring也为不同scope定义的对象 , 提供了单例和原型等模式实现
3.AOP使用了代理模式 , 装饰器模式 , 适配器模式等
4.各种事件的监听者 , 观察者模式
5.JDBCTemplate , 就是典型的模板模式
......
网友评论