设计模式:适配器模式-adapter

本文介绍了适配器模式的基本概念及其实现方式,通过Java代码示例详细解释了如何使用对象适配器模式来解决接口不兼容的问题。该模式允许原本无法协同工作的类能够一起工作。

将一个类的接口转换成客户希望的另外一个接口。apapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作

这里写图片描述

Java中比较常用对象适配器模式,对象适配器模式就是,继承target,重写request(),在adapter中,创建adaptee对象,把target中的request,指向adaptee中的specificRequest,即完成适配。客户端若要调用specifiRequst,只需要生成adpater对象即可

优点

 通过适配器,客户端可以调用同一接口,因而对客户端来说是透明的。这样做更简单、更直接、更紧凑。

 复用了现存的类,解决了现存类和复用环境要求不一致的问题。

 将目标类和适配者类解耦,通过引入一个适配器类重用现有的适配者类,而无需修改原有代码。

一个对象适配器可以把多个不同的适配者类适配到同一个目标,也就是说,同一个适配器可以把适配者类和它的子类都适配到目标接口。

缺点

 对于对象适配器来说,更换适配器的实现过程比较复杂。

代码

Main

public class Main {

    public static void main(String[] args) {
        Target target=new Target();
        target.request();

        Target adapter=new Adapter();
        adapter.request();
    }

}

Adaptee

public class Adaptee {
    public void specificRequest(){
        System.out.println("adaptee request");
    }
}

Target

public class Target {
    public void request(){
        System.out.println("target request");
    }
}

Adapter

public class Adapter extends Target{
    private Adaptee adaptee=new Adaptee();
    public void request(){
        this.adaptee.specificRequest();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值