码迷,mamicode.com
首页 > 其他好文 > 详细

理解设计模式(适配器)

时间:2015-11-21 22:43:01      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:

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

特定环境

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

  • 相近功能类间的转换

一类问题

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

解决方案

3个角色:

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

类适配器和对象适配器

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

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

优劣

优点:

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

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

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

参考

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

理解设计模式(适配器)

标签:

原文地址:http://www.cnblogs.com/CoolSoul/p/4984838.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!