软件体系结构--适配器模式
2014-06-19 16:11
281 查看
解决问题类型
为了解决接口不一致的问题解决设计思路
在两个软件模块之间设计一个适配器进行适配,包括类适配器和对象适配器两种方案具体待解决的问题
要使用一个类中的对数组升序排序的方法,同时也要使用另一个类中对数组进行降序排序的方法UML设计
类适配器对象适配器
核心代码
类适配器public class ClassAdapter extends SortAdaptee implements SortTarget { @Override public void descending(int[] datas) { // TODO 自动生成的方法存根 for(int i=0;i<datas.length-1;i++){ for(int j = 0;j<=datas.length-i-2;j++){ if(datas[j]<datas[j+1]){ int temp = datas[j]; datas[j] = datas[j+1]; datas[j+1] = temp; }}}}}
对象适配器
public class ObjectAdapter implements SortTarget { private Sort adaptee = new Sort(); public void ascending(int[] datas) { // TODO 自动生成的方法存根 adaptee.ascending(datas); } public void descending(int[] datas) { // TODO 自动生成的方法存根 for(int i=0;i<datas.length-1;i++){ for(int j = 0;j<=datas.length-i-2;j++){ if(datas[j]<datas[j+1]){ int temp = datas[j]; datas[j] = datas[j+1]; datas[j+1] = temp; }}}}}
模式的优点
适配器模式将接口不同而功能相近的两个接口加以转换,包括适配器适配器角色补充一些源角色没有但目标接口需要的方法,灵活性和扩展性都很好,符合开闭原则。模式的不足
类适配器:对于Java等不支持多重继承的语言,一次最多只能适配一个适配者类,而且目标抽象类只能为接口,不能为类,其使用有一定的局限性,不能将一个适配者类和他的子类同时适配到目标接口。
对象适配器:
与类适配器模式相比,要想置换适配者类的方法就不容易。
相关文章推荐
- 章二 软件体系结构的构建模式(1)
- 软件体系结构分析与Smart Client的应用
- 章二 软件体系结构的构建模式(1)
- 章三 软件体系结构组态分析与应用(2)
- 微软高级软件研发主管研修计划(Architect 2000)之:企业IT体系结构
- 章二 软件体系结构的构建模式(3)
- 章二 软件体系结构的构建模式(2)
- 软件体系结构的概念
- 章三 软件体系结构组态分析与应用
- 软件体系结构的知识提纲
- 复杂系统的层级原理与模型驱动软件体系结构
- 复杂系统的层级原理与模型驱动软件体系结构
- 章二 软件体系结构的构建模式(2)
- 软件体系结构 章一
- 减少优先级倒置问题及基于ORBs中间件的非确定性的软件体系结构
- 软件体系结构的概念
- 高可复用软件体系结构的基础框架元素
- 章三 软件体系结构组态分析与应用(2)
- 章三 软件体系结构组态分析与应用
- 软件体系结构