设计模式-适配器模式

一、定义

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

使用场景: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();
    }
}

 

三、总结

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

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

posted @ 2018-07-27 16:28  小爷宋  阅读(112)  评论(0编辑  收藏  举报