软件体系结构--适配器模式
来源:互联网 发布:软件脱壳是什么意思 编辑:程序博客网 时间:2024/05/22 03:24
解决问题类型
为了解决接口不一致的问题
解决设计思路
在两个软件模块之间设计一个适配器进行适配,包括类适配器和对象适配器两种方案
具体待解决的问题
要使用一个类中的对数组升序排序的方法,同时也要使用另一个类中对数组进行降序排序的方法
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等不支持多重继承的语言,一次最多只能适配一个适配者类,而且目标抽象类只能为接口,不能为类,其使用有一定的局限性,不能将一个适配者类和他的子类同时适配到目标接口。
对象适配器:
与类适配器模式相比,要想置换适配者类的方法就不容易。
0 0
- 软件体系结构 适配器模式
- 软件体系结构--适配器模式
- java软件体系结构设计模式----适配器
- 软件体系结构 组合模式
- 软件体系结构--工厂模式
- 软件体系结构--组合模式
- java软件体系结构模式----桥接
- 软件体系结构--单例模式
- 面向模式的软件体系结构(卷1)-体系结构模式
- java软件体系结构模式---集合模式
- java软件体系结构设计模式----装饰者
- java软件体系结构设计模式------责任链
- java软件体系结构设计模式----外观
- java软件体系结构设计模式----代理
- java软件体系结构设计模式----虚代理
- 软件体系结构与设计模式笔记
- 关于软件体系结构设计模式的总结
- [笔记]软件体系结构(1)--模式初印象
- 黑马程序员_银行业务调度系统
- Spring定时任务和rescheduleJob
- perl函数说明(chown)
- block使用小结、在arc中使用block、如何防止循环引用
- java enum(枚举)使用详解 + 总结
- 软件体系结构--适配器模式
- php数组删除指定数值
- 黑马程序员——反射
- phonegap发送短信
- Angular $Watch
- 虚函数
- perl函数说明(chr)
- IOS中scrollsToTop问题小结
- Spine使用