结构类——适配器模式

作者: Jason_Sam | 来源:发表于2019-05-29 14:08 被阅读63次

适配器模式

  • 定义:将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法一起工作的两个类能够一起工作。

  • UML类图: 适配器模式
  • 综合分析:

    优点:

    1. 让两个毫不相干的类组合成想要的类。
    2. 增加类间透明度。源对象和目标对象的封装通过中间实现类完美诠释。
    3. 提高类的复用度,减少不必要的重写。
    4. 灵活性高。用则调,不用则弃。

    适用场景:

    适配器模式是一个补救措施,而不是开发阶段的产物,所以一般都是投产后的产品的一个功能补充,BUG修复等情况下使用。

  • 拓展: 拓展适配器

    适配器模式仅可以通过继承/实现的方式进行拓展,也可以通过关联,组装适配类。

适配器模式实践

源接口

    public interface IAdaptee {
        public void origin();
    }

目标接口

    public interface ITarget {
        public void expend();
    }

适配器角色

    public class Adapter implements IAdaptee, ITarget{
        @Override
        public void expend() {
            System.out.println("I am a target!");
        }
        
        @Override
        public void origin() {
            System.out.println("I am a adaptee!");
            expend();
        }
    }

客户端类

public class client {
    public static void main(String[] args) {
        IAdaptee adaptee = new concreteAdaptee();
        adaptee.origin();
        Adapter adapter = new Adapter();
        adapter.origin();
    }
}

源代码

相关文章

  • 设计模式(6) 适配器模式

    结构型模式 适配器模式 类适配器和对象适配器 结构型模式 结构型模式的重点在于如何通过灵活的体系组织不同的对象,并...

  • 设计模式-结构型模式

    结构类模式包括适配器模式、桥接模式、组合模式、装饰模式、门面模式、享元模式和代理模式。 为什么叫结构类模式呢?因为...

  • 设计模式[6]-适配器模式-Adapter Pattern

    1. 适配器模式 适配器模式(Adapter Pattern)是结构性设计模式,其目的是协调不兼容的结构,把一个类...

  • 结构型模式

    简介 将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式。结构型模式分为:代理模式、适配器模式...

  • 读《大话设计模式》二

    结构型模式 适配器模式 模式动机 适配器提供客户类需要的接口,适配器的实现就是把客户类的请求转化为对适配者的相应接...

  • 常用设计模式

    创建类 单例模式 工厂模式 原型模式(未创作) 结构类 装饰模式 适配器模式 代理模式(未创作) 门面模式(未创作...

  • 设计模式(Design Patterns)适配器模式(Adapt

    适配器模式主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。 类的适配器模式 场景:将一个类转换成...

  • Android设计模式之(18)----适配器模式

    适配器模式 适配器模式数据结构型设计模式. 适配器模式主要用于将2个不能兼容的物件结合在一起.分为类适配器和对象适...

  • 适配器模式(Adepter Pattern)

    适配器模式:将一个类的接口转换成客户期望的接口。适配器让原本可以不兼容的类可以适配无期适配器模式是结构型模式的一种...

  • #结构型模式1-适配器模式(Adapter)

    结构型模式1-适配器模式 结构型模式简介 结构型模式,分为类结构型模式和对象结构型模式。 创建型模式主要有7个: ...

网友评论

    本文标题:结构类——适配器模式

    本文链接:https://www.haomeiwen.com/subject/glvstctx.html