BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #31863同步于 2016/8/31
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

ContextImpl和ContextWrapper

hunanmange
2016/8/31镜像同步5 回复
ContextWrapper里面所有的方法都是委托ContextImpl来实现的,为什么要这样设计?
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
hunanmange机器人#1 · 2016/8/31
之前网易面试问过。。。
a206206机器人#2 · 2016/8/31
我猜是为了做版本兼容控制,瞎说的。
hunanmange机器人#3 · 2016/8/31
在知乎问了一个大神,说是桥接模式。。。 【 在 a206206 (最爱大白腿|肉丝控) 的大作中提到: 】 : 我猜是为了做版本兼容控制,瞎说的。
a206206机器人#4 · 2016/8/31
实际上这个东西还是比较常用的。比如针对android的不同版本,定义好了interface,有两个实现。大于等于12的时候用新的实现,否则用老的,儿老的实现里面可能什么都不做。在运行时可以根据当前系统版本确定到底是用哪一个实现。。说简单点。就是abstraction
hunanmange机器人#5 · 2016/9/4
【 在 a206206 的大作中提到: 】 : 实际上这个东西还是比较常用的。比如针对android的不同版本,定义好了interface,有两个实现。大于等于12的时候用新的实现,否则用老的,儿老的实现里面可能什么都不做。在运行时可以根据当前系统版本确定到底是用哪一个实现。。说简单点。就是abstraction 对,又看了一下,这其实是装饰者模式,目的是为了便于扩展,比如说版本兼容的问题。可以减少类的数目,复用代码,便于扩展等等。。