适配器模式(一)

来源:互联网 发布:陕甘回乱 左中堂知乎 编辑:程序博客网 时间:2024/06/06 00:36
1、适配器模式的引入
        例子:你有一个新的电脑硬盘想装在旧电脑上,可是新的移动硬盘是串口的,旧的移动硬盘是并口的。此时,电脑安装硬盘的接口与硬盘的接口不匹配,如果从换新的又可惜了,这时,我们可以买一根转接线就可以解决这个问题了。这个转接线就是我们说的适配器。
2、适配器模式的定义
        将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

3、适配器模式的结构说明和代码


客户端:调用自己需要的领域接口Target。
Target:定义客户端余姚的更特点更领域相关的接口。
Adaptee:已经存在的接口,通常能满足客户端的功能要求,但是接口与客户端要求的特定领域接口不一样,需要被适配。
Adapter:适配器,把Adaptee适配称为客户端需要的Target。
(1)定义Target接口
     package adapter;/** * 定义客户端使用的接口,与特定领域相关 * @author Administrator * */public interface Target {    /**     * 示意方法,客户端请求处理的方法     */    public void request();}
(2)定义需要被适配的对象
package adapter;/** * 已经存在的接口,这个接口需要被适配 * @author Administrator * */public class Adaptee {/** * 示意方法,原本已经存在,已经实现的方法 */    public void specifiRequest(){        System.out.println("Adaptee specifiRequest()执行了");    }}


(3)适配器的基本实现
package adapter;public class Adapter implements Target{    /**     * 持有需要被适配的接口对象     */    private Adaptee adaptee;    /**     * 构造方法,传入需要被适配的对象     * @param adaptee 需要被适配的对象     */    public Adapter(Adaptee adaptee){        this.adaptee = adaptee;    }    @Override    public void request() {        // 可能转调已经实现了得方法,进行适配        adaptee.specifiRequest();        }}
(4)适配器客户端
package adapter;/** * 使用适配的客户端 * @author Administrator * */public class Client {    public static void main(String[] args) {        Adaptee adaptee = new Adaptee();        Target target = new Adapter(adaptee);        target.request();    }}






0 0
原创粉丝点击