适配器及适配器模式
2015-06-30 14:56
495 查看
今个看了JVM垃圾回收工作原理,看了以后对如何系统化学习产生了一点迷思,想写一篇困惑的blog,后来想想,还是在行动中思考,所以写一篇适配器。
看看百度百科怎么说:
看懂了吧,同词同意,是一个接口转换器,adapter的汉语翻译。这就是适配器,so easy~
那适配器模式呢?按我的理解就是一个使用适配器情景的抽象类,告诉你什么时候用适配器,用适配器来达到优化代码结构的目的。
为了让大家都看懂适配器,还是贴段代码说明,毕竟show me your code嘛~
主要想讲讲适配器的由来,毕竟它的目的是让两个无法匹配的“管道”能够衔接上,在设计之初没人会设计两个无法衔接的“管道”吧,如果在设计之初弄出两个不通的通道,然后再需要设计一个适配来衔接,显然是沟通工作没到位。这么一说就明白了,适配器主要出现在项目中段,当你需要采用三方接口,或者合作方开发出来的一个借口和你的接口无法做到匹配,才产生了一个适配器的需求。
uh…想到这,适配器还是很好理解的。
uh..我再想想还有哪些需要说说zZZ
好吧,暂时没想到。
看看百度百科怎么说:
适配器: 适配器是英语Adapter/adaptor的汉语翻译。适配器就是一个接口转换器,它可以是一个独立的硬件接口设备,允许硬件或电子接口与其它硬件或电子接口相连,也可以是信息接口。比如:电源适配器、三角架基座转接部件、USB与串口的转接设备等。
看懂了吧,同词同意,是一个接口转换器,adapter的汉语翻译。这就是适配器,so easy~
那适配器模式呢?按我的理解就是一个使用适配器情景的抽象类,告诉你什么时候用适配器,用适配器来达到优化代码结构的目的。
为了让大家都看懂适配器,还是贴段代码说明,毕竟show me your code嘛~
public interface Target{ public void request(); }
public class Adaptee { public void specificRequst() {} }
public class Adapter implments Target { private Adaptee adaptee; public Adapter(Adaptee adapt) { this.adaptee = adapt; } @Override public void request() { adaptee.specifiRequest(); } }
public class Client { public static void main(String[] args) { Adaptee adapt = new Adaptee(); Target taget = new Adapter(adaptee); tager.request(); } }
主要想讲讲适配器的由来,毕竟它的目的是让两个无法匹配的“管道”能够衔接上,在设计之初没人会设计两个无法衔接的“管道”吧,如果在设计之初弄出两个不通的通道,然后再需要设计一个适配来衔接,显然是沟通工作没到位。这么一说就明白了,适配器主要出现在项目中段,当你需要采用三方接口,或者合作方开发出来的一个借口和你的接口无法做到匹配,才产生了一个适配器的需求。
uh…想到这,适配器还是很好理解的。
uh..我再想想还有哪些需要说说zZZ
好吧,暂时没想到。
相关文章推荐
- php页面静态化—局部页面静态化原理
- jsp两种注释区别,<%%>和<%!%>的区别
- 一个失误引发的追查
- MDA模型定义及扩展
- 从“空项目”创建MFC项目遇到的问题error C1189,error MSB8031
- AIX 减少缺省分页空间(hd6)的大小
- spring mvc message-convert
- mysql常见错误
- ListView分页加载
- ['LeetCode']表达式求值
- 程序调用存储过程中报错 DB2 SQL Error: SQLCODE=-286, SQLSTATE=42727, SQLERRMC=4096;
- Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webapp:RELEASE from any of t
- 【译】VisionMobile:语音:脱离运营商的业务模式
- 基于实体模型开发主题管理简析
- AngularJS笔记
- php分析MSSQL返回的时间位object,怎样输出时间?
- windows 下apache 以fastcgi形式运行php
- Luajit2.0.4 Build错误
- jdk版本
- 为什么你应该停止使用EventBus