设计模式-适配器模式

Posted winter-is-coming

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式-适配器模式相关的知识,希望对你有一定的参考价值。

一、定义

适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器能让原来接口不兼容的两个类可以合作无间。

使用场景:1. 接口不兼容;2. 输入不可预期,统一输出等场景

二、种类

类适配器:继承的实现方式

// 目标接口
public interface Target {
    public int getCount();
}

// 现有类
public class Source {
    public int getNum() {
        return 0;
    }
}

// 适配器
public class Adapter extends Source implements Target {
    @Override
    public int getCount() {
        return getNum();
    }
}

 

对象适配器:组合的实现方式

// 目标接口
public interface Target {
    public int getCount();
}

// 现有类
public class Source {
    public int getNum() {
        return 0;
    }
}

// 组合适配器
public class Adapter implements Target {
    
    private Source source;
    
    public Adapter(Source source) {
        this.source = source;
    }

    @Override
    public int getCount() {
        return source.getNum();
    }
}

 

三、总结

优点:更好的复用性和扩展性

缺点:过多的使用适配器,会让系统变得非常零乱,不易整体把握

以上是关于设计模式-适配器模式的主要内容,如果未能解决你的问题,请参考以下文章

多选模式列表视图行在删除后保持选中状态

Java设计模式之适配器模式

设计模式之适配器模式

设计模式之适配器模式

php设计模式之适配器模式实例代码

.NET(C#) 设计模式 适配器模式