zoukankan      html  css  js  c++  java
  • 结构性设计模式(1)--适配器模式

    前言

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

    理解:

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

       目标和被适配者是解耦的

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

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

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

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

    被适配者依赖适配器接口

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

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

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

    (2).对象适配器模式

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

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

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

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

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

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

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

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

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

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

     

  • 相关阅读:
    限定类型后undefined变null
    学习进度条(第一周)
    记账本开发小计(三)
    记账本开发小计(四)
    记账本开发小计(五)
    个人作业1数组
    记账本开发小计(二)
    记账本开发小计(七)
    记账本开发小计(六)
    软件工程概论第一次课堂测试(实发项目的开发)总结
  • 原文地址:https://www.cnblogs.com/cooltian/p/11524229.html
Copyright © 2011-2022 走看看