zoukankan      html  css  js  c++  java
  • 理解设计模式(适配器)

      适配器模式,转换不同接口,实现兼容。

    特定环境

    • 接口兼容
      —使用现有类,但使用方式与原有方式不同,需要转换
      —现有接口兼容第三方组件
      —保留并使用原系统类的功能,但客户端访问方式发生变化,同时无法修改原有代码时

    • 相近功能类间的转换

    一类问题

    接口不兼容的类,不能协同合作

    解决方案

    3个角色:

    • 目标接口 Target : 提供期待的使用方式,由类或接口实现
    • 被适配者 Adaptee : 类原有使用方式,由类或接口实现
    • 适配器 Adapter : 封装Adaptee引用,实现或继承Target,重写Target方法,封装Adaptee方法

    类适配器和对象适配器

    类适配器通过多重继承,来对接口进行匹配

    Java不支持多重继承,暂不作讨论

    优劣

    优点:

    • 复用类,减少开发量
    • 可扩展原有类功能
    • 可通过目标接口,使用多个被适配者
    • 被适配者对接口使用者透明
    • 目标接口和被适配者解耦

    缺点:
    对于对象适配器,适配器的编写或修改,较为复杂

    因为,需要原系统提供接口(即被适配者的API),并需要理解其适用环境

    参考

    设计模式学习笔记-适配器模式, 作者: Wang Juqiang

  • 相关阅读:
    Use HTTPS instead of HTTP
    Disable SSLv3
    JIRA Installation
    排序算法之简单选择排序
    排序算法之冒泡排序
    三本优秀的Python教程
    ubuntu*set*up
    程序员的十层楼(转载)
    drools spring config的问题
    MySQL Performance Tuning
  • 原文地址:https://www.cnblogs.com/CoolSoul/p/4984838.html
Copyright © 2011-2022 走看看