结构型模式——适配器模式(Adapter Pattern)

开头

      今天我们开始学习结构型模型设计模式,在学习该模型时我们先复习一下创建型模型,我们都知道创建型模型描述的是如何更好的创建对象,而今天所学的结构型模型是描述对象和类之间的组合,描述两者之间如何更好的组合,以发挥其优势。既然是组合,我们就先以适配器模式开头吧。


内容

    适配器模式,当你看到适配器模式的时候你有没有想到电源适配器、网卡适配器、网络适配器、变压器、电源转换器、万能扳手、翻译家等。出门不懂英语需要英语适配器——翻译家,做饭的电压需要保持再220V——电源适配器。他们好比一个转换系统。汉语和英语不一样找了一个翻译家来兼容,电饭锅的电压和输送的电压不一样,于是电源适配器诞生了。两者存在的必要都是来解决双方方法不兼容的问题。

   下面我们以英语,汉语、翻译家为例子来介绍适配器模式,学习之前我们需要知道适配器中的三大主体。

   适配类(Target):English

   被适配类(Adaptee): Chinese

   适配器(Adapter): Translator

结构型模式——适配器模式(Adapter Pattern)


总结

适配器模式(Adapter Pattern):将一个接口转换成客户希望的另一个接口(这里所谓的接口就是方法),使接口不兼容的那些类可以一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。

优点:增加了类的复用性,在不修改原代码的基础上来复用现有类,符合 “开闭原则”

缺点:使得重定义Adaptee的行为较困难,这就需要生成Adaptee的子类并且使得Adapter引用这个子类而不是引用Adaptee本身。

适用环境:(1)系统存在现有的类,但不符合标准,通过适配器进行复用。

                 (2)建一个重复适用的类,用于一些配词关联不大的一些类,包括在将来引进的的类一起工作


疑惑:关于对象适配器和类适配器存在的区别是适配者与适配器之间的关系不同,对象适配器中两者的关系为关联关系,类适配器中两者的关系是继承关系,可是大话设计中对象适配器的使用时,依然是继承关系?希望可以解决这个问题。


    如果本篇博客对于初学者的您有帮助,请在博客为小编树立一个大拇指吧,表示对小编的激励!