大话设计模式读书笔记-17适配器模式

bigtalk.jpg

第17章 在NBA我需要翻译——适配器模式

定义

将一个类的接口转换成客户需要的另一个类的接口。两种:类适配器,可以多继承实现;对象适配器,可以定义一个适配器类,适配器类中包含目标对象,适配器接口调用目标对象的特定接口。

实现(对象适配器)

用于系统的数据行为都正确但是接口使用方式不统一的情况。实现:

  • Client: 使用者,期望使用 request() 的方式来发送请求。
  • Target: 使用者期望的接口(或者抽象类),里面有 request(), 所有符合使用者的处理者应该继承这个类。
  • Adapter: 继承了Target的适配器,适配器中包含不符合规范需要适配的处理者,它 request() 调用不符合规范处理者的特殊接口。
  • Adaptee: 不符合规范的处理者,它的接口不是 request() 但是做了同样的事情,通过Adapter适配器 request() 调用,才能为Client所用。

对象适配器模式类图:

img

对象适配器模式客户端代码:

img

场景

总之就是两个类的行为一样,但是接口不同的情况下,通过适配器满足相互调用。一般在设计初期就要统一好接口,复用旧类才使用该模式;也有时候支持第三方兼容的时候(软件不想改变接口又想支持使用第三方功能),会考虑这个模式。

全部评论

相关推荐

06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
昨天 18:45
已编辑
中山职业技术学院 Java
投递TP-LINK等公司7个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务