博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式之适配器模式温故知新(九)
阅读量:4557 次
发布时间:2019-06-08

本文共 681 字,大约阅读时间需要 2 分钟。


适配器模从实现方式上分为两种, 类适配器和对象适配器, 这两种的区别在于实现的方式上的不同, 一种采用继承, 一种采用组合的方式. 另外从使用的目的上来说, 也可以分为两种. 特殊适配器和缺省适配器, 这两种的区别在于使用目的上的不同, 一种复用原来的代码并失配当前的接口, 一种为了提供缺省的实现, 避免子类需要实现不该实现的方法.

适配器属于补救措施

  • 涉及到了观察者模式继续巩固一下
  • 当我们需要复用一个类的功能, 有想要实现某个接口的功能, 实际上就是使用继承实现
    • 这是最简单的适配器模式, 也就是 类适配器
  • 比如User extends BaseUser 很常见的, 然后呢我需要扩展功能, 弄个ObservableUser继承于User, 这样User就被观察了
    • 这里实现方式是对象适配器
  • 问题很明显, 要是有其他的类也需要扩展呢, 我们可以ObservableBaseEntity extends BaseEntity 其他的子类继承该类就可以了
    • 这里的使用目的可以看作是特殊适配器
  • 但是有的时候我们的接口设计的比较大也就是 方法太多了 这样缺省适配器就出现了
    • 我们有一个手机的接口
    • 手机的大体都会有一些默认的条件 比如打电话之类的, 但是由于某些特殊的原因, 有些手机是不允许上网的, 缺省适配器就是来默认实现空方法, 然后需要使用这个类的时候只需要复写就可以了

这一篇的篇幅比较短主要是把之前的观察者模式, 接口最小化里氏替换原则温习一遍

转载于:https://www.cnblogs.com/denghailei/p/6727460.html

你可能感兴趣的文章
递归问题==优化 还有数据库sqlreader
查看>>
IOS第四天(2:字典转模型plist)
查看>>
什么是数据集
查看>>
Android开发数据库三层应用-DataSnap
查看>>
关于setTimeout运行机制
查看>>
2019 Multi-University Training Contest 4
查看>>
学号 《信息安全系统设计基础》第7周学习总结(一)
查看>>
POJ1741Tree [点分治]【学习笔记】
查看>>
BZOJ 3238: [Ahoi2013]差异 [后缀自动机]
查看>>
UVA 12633 Super Rooks on Chessboard [fft 生成函数]
查看>>
memcache 启动 failed to start
查看>>
欧拉函数与欧拉定理
查看>>
fzyzojP2984 -- 序列变换问题
查看>>
poj 2888 Magic Bracelet
查看>>
mysql排序让空值NULL排在数字后边
查看>>
Mono for Android 实现高效的导航
查看>>
30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
查看>>
动画制作 手机APP制作以及响应式的实现
查看>>
我的第一篇博文(Winfrom下WebBrowser控件的使用)
查看>>
git使用笔记(六)github
查看>>