设计模式——适配器模式

适配器模式

@auther lisiwen

@createTime 2019/12/23

适配器模式(Adapter):将一个类的几口转换为客户希望的另外一个接口。Adapter模式似的原本由于接口不兼容而不能一起工作的那些 类可以一起工作。

在这里插入图片描述

适配器模式结构图

​ 代码示例

Target.java

/**
 * @ProjectName: designpattern
 * @ClassName: Target
 * @Description: 这个是客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口 代码如下
 * @Author: lisiwen
 * @Date: 2019/12/23 8:53
 **/
public interface Target {
    /**
     * @Author lisiwen
     * @Description 期待的接口
     * @Date 2019/12/23 9:00
     * @param
     * @Return void
     * @Throws
     **/
    void Request();
}

Adaptee.java

/**
 * @ProjectName: designpattern
 * @ClassName: Adaptee
 * @Description: 需要适配的类
 * @Author: lisiwen
 * @Date: 2019/12/23 8:54
 **/
public class Adaptee {
    public void SpecificRequest(){
        System.out.println("特殊请求!");
    }
}

Adapter.java

/**
 * @ProjectName: designpattern
 * @ClassName: Adapter
 * @Description: 通过在内部包装一个Adaptee对象,把源接口改成目标接口
 * @Author: lisiwen
 * @Date: 2019/12/23 8:55
 **/
public class Adapter extends Adaptee implements Target{
    @Override
    public void Request(){
        super.SpecificRequest();
    }
}

Main.java

/**
 * @ProjectName: designpattern
 * @ClassName: Main
 * @Description: 客户端代码
 * @Author: lisiwen
 * @Date: 2019/12/23 8:35
 **/
public class Main {
    public static void main(String[] args) {
        Target target=new Adapter();
        target.Request();
    }
}
//控制台输出
特殊请求!

​ 何时使用适配器模式:在想使用一个已经存在的类,但如果他的接口,也就是他的方法和你的要求不相同时,就应该考虑适配器模式,这时客户端代码可以调用同一个接口,代码更加简单,直接,紧凑。其实应该是在双方都不太容易修改的时候再使用适配器模式适配,而不是一有不同时就使用它。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值