发现想要在Android源码中找到一个明显使用桥梁模式的模块还真的挺不容易的,但由于Android代码命名上面的规律,还是让我搜索到了。FragmentCompat是一个用于访问Fragment特征的帮助类,它在support v13开始以一种向后兼容的风格提出。它是如何向后兼容的呢?就是使用桥梁模式来向后兼容。它是一种简化了的桥梁模式,下面将简单介绍FragmentCompat与桥梁模式。
桥梁模式
意图
将对象的抽象与实现分隔开来,以使对象的抽象与实现相互独立地变化。
UML
代码示例
//抽象
abstract class AbsComponent{
private AbsComponentImpl impl;
public AbsComponentImpl getComponentImpl(){
return impl;
}
public AbsComponent(AbsComponentImpl impl){
this.impl = impl;
}
public abstract void operate();
}
//实现
abstract class AbsComponentImpl{
public abstract void operateImpl();