适配器模式
来源:互联网 发布:主板稳定性测试软件 编辑:程序博客网 时间:2024/05/28 15:08
适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。
这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。
举个真实的例子,读卡器是作为内存卡和笔记本之间的适配器。您将内存卡插入读卡器,再将读卡器插入笔记本,这样就可以通过笔记本来读取内存卡。
优点: 1、可以让任何两个没有关联的类一起运行。 2、提高了类的复用。 3、增加了类的透明度。 4、灵活性好。
缺点: 1、过多地使用适配器,会让系统非常零乱,不易整体进行把握。比如,明明看到调用的是 A 接口,其实内部被适配成了 B 接口的实现
2、由于 JAVA 至多继承一个类,所以至多只能适配一个适配者类,而且目标类必须是抽象类。
使用场景:有动机地修改一个正常运行的系统的接口,这时应该考虑使用适配器模式。
注意事项:适配器不是在详细设计时添加的,而是解决正在服役的项目的问题。
1.缺省适配器
缺省适配(Default Adapter)模式为一个接口提供缺省实现,这样子类型可以从这个缺省实现进行扩展,而不必从原有接口进行扩展。作为适配器模式的一个特例,
缺省是适配模式在JAVA语言中有着特殊的应用
在很多情况下,必须让一个具体类实现某一个接口,但是这个类又用不到接口所规定的所有的方法。通常的处理方法是,这个具体类要实现所有的方法,那些有用的方法要有
实现,那些没有用的方法也要有空实现。
这些空的方法是一种浪费,有时也是一种混乱。除非看过这些空方法的代码,程序员可能会以为这些方法不是空的。
缺省适配模式可以很好的处理这一情况。可以设计一个抽象的适配器类实现接口,此抽象类要给接口所要求的每一种方法都提供一个空的方法。
如下:
public interface Person { void eat(); void sleep(); void play();}public abstract class PersonAdapter implements Person { @Override public void eat() { } @Override public void sleep() { } @Override public void play() { }}public class ET extends PersonAdapter { @Override public void play() { System.out.println("我是机器人不吃饭不睡觉"); }}
2.类适配器
类适配器使用对象继承的方式,是静态的定义方式
3.对象适配器
阅读全文
0 0
- 适配器及适配器模式
- 适配器及适配器模式
- 适配器模式(类适配器)
- 适配器模式(默认适配器)
- 适配器模式(对象适配器)
- 适配器模式-类适配器
- 适配器模式-对象适配器
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- Hystrix 源码解析 —— 断路器 HystrixCircuitBreaker
- CentOS7.2下cMark编译安装mysql报错解决方案
- codevs1506传话
- Hadoop KMS 透明加密配置以及测试
- MAC 设置环境变量path的几种方法
- 适配器模式
- oracle 生成默认的子分区
- Windows10安装Linux子系统Ubuntu
- 配置kdevelop+stlink 的STM32开发环境
- mr解析xml将数据(ipv4、ipv6)批量导入hbase
- 解决PL/SQL Developer经常自动断开连接的办法
- 15、Android开发基础之数据检查和读取
- android 创建多个dimens文件的作用
- SPSS分析技术(导航页)