三句话搞定适配器模式
来源:互联网 发布:手机淘宝积分怎么领 编辑:程序博客网 时间:2024/06/11 04:59
适配器模式的官方定义:
将一个与当前类无法兼容的接口转换成能够兼容当前类的接口。
适配器模式的大白话:
现在有一个第三方类/我们项目组中别人写的类放在我们面前,我们需要调用其中的功能,但是第三方类提供给我们的接口和我们程序的接口不相匹配,这时我们就需要再写一个适配器类,把第三方类不匹配的接口转换成能被我们程序调用的接口。
举个例子:
电源的电压是220V,而我们的笔记本需要的电压一般只要十几V,因此就需要一个电源适配器就将电源中220V的电压转换成笔记本所使用的电压。这个电源适配器就采用了适配器模式的思想。
电源就相当于需要被适配的类,笔记本就相当于调用接口的类,电源适配器就相当于适配器类。
适配器模式类图:
1.用户Client想调用Adaptee类中的一些功能,但发现接口与自己定义的接口不一致;
2.此时Client按照自己原本的要求将所需要的功能都写入接口Target中;
3.然后适配器类Adapter实现这个接口;
4.Adapter类必须要使Adaptee作为它的成员变量;
5.Adapter类在实现request函数时,通过成员变量Adaptee来调用Adaptee中specificRequest函数,从而实现了将Adaptee中的功能向Target所需的接口名字转化的过程。
6.Client只需要:
Target target = new Adapter();
target.request();
此时Client仍然调用自己规定的接口request(),但执行的已经是Adaptee中的specificRequest()的功能了。
何时使用适配器模式?
1.在软件开发后期或是开发结束之后,被调用的一些接口需要换掉,为了不需改已经开发好的代码,可以增加一个适配器,起到连接新接口和旧调用的桥梁。
PS:一般在软件设计、开发过程中,如果发现需要调用的接口和原本定义的接口不匹配,应尽量选择重构接口,而不是使用适配器作为转换。
2.在软件开发过程中,需要调用第三方类库的时候,如果第三方类库提供的接口和我们设计的接口不一致,此时可以使用适配器模式,将第三方类库的接口转换成我们所需要的接口。
总之一句话:在接口的调用和被调用双方都不太容易修改的时候再使用适配器模式。
- 三句话搞定适配器模式
- 三句话轻松搞定JTable内容居中显示
- 史上最简单设置沉浸式状态栏。三句话搞定。
- 史上最简单设置沉浸式状态栏。三句话搞定。
- 同步适配器模式(三)
- 几句话搞定RMI
- 设计模式(三)-- 适配器模式(Adapter)
- C++设计模式之适配器模式(三)
- Java设计模式(三) 之 适配器模式
- 设计模式(三):适配器模式(Adapter)
- 设计模式--适配器模式(三)
- 设计模式系列(三)适配器模式
- 三句话
- 三句话
- 三句话......
- 三句话。
- 三句话
- 适配器模式-对象,类,接口三种适配器
- zeroconf介绍
- 华为oj: 图片整理
- 程序在的内存中的分配(常量,局部变量,全局变量,程序代码)
- 适配iPhone6和6P UITableView分割线会闪动(拖动UITableView的时候,分割线 一会儿变粗一会儿变细)解决办法
- 自定义事件(自定义参数,带参数实现)
- 三句话搞定适配器模式
- HashMap:对key进行排序
- CSS3 选择器
- Cannot refer to a non-final variable mylis inside an inner class defined in a different method
- hdu 1004
- 【使用JSOUP实现网络爬虫】修改数据-设置属性的值
- 静态联编和动态联编
- javascript概述
- Codeforces Round #317 [AimFund Thanks-Round] (Div. 1) A. Lengthening Sticks 分类