结构性设计模式(1)--适配器模式

前言

在解决了对象的创建问题之后,对象的组成以及对象之间的依赖关系就成了开发人员关注的焦点,因为如何设计对象的结构、继承和依赖关系会影响到后续程序的维护性、代码的健壮性、耦合性等。

 

理解:

适配器结构:目标+适配器+被适配者(客户端)(类,接口,对象)         

   目标和被适配者是解耦的

适配器本质:就是转换器,将某个类的接口转换为客户端期望的另一个接口,

  接口的形参和返回值其实就是转换器的入口和插口

  人工客服就是顾客传递信息给公司的适配器

 

(1).类适配器:手机充电例子

被适配者依赖适配器接口

适配器实现适配器接口,继承被适配者,适配方法返回值给目标类

   (继承不解耦,这里使用了并不好,使用被适配者的output220()方法,,又暴露了适配器类)

 

 客户端依赖被适配者和适配器

 

 

(2).对象适配器模式

对象适配器即给目标对象做适配函数

 

手机的手电电压固定为5v,现在在中国电压为220v

  要充电就需要一个充电适配器,我们可以在手机类或者中国电压类中写转化方法解决

手机的手电电压固定为5v,现在去美国电压变为110v

  若原来的适配方法在中国的电压类中,不能重用了,新写的美国电压类又要写适配方法

  若原来的适配方法在手机类中,要到类中去找到适配方法所有相关来修改

  考虑到变化的是这种适配方法,所以给手机做适配接口,适配接口的实现类聚合中国电压

    如果新到泰国,原来已有泰国电压类,只需要写一个泰国电压适配类,原有类不变

若新手机电压为6v,则。。。。

 

这个例子种adapter类不再继承被适配者,而是聚合被适配者,继承被解耦

 

 

posted on 2019-09-15 21:03  KillerTT  阅读(184)  评论(0编辑  收藏  举报