设计模式学习-桥接模式(Bridge)
意图 将抽象部分与它的实现部分分离,使它们都可以独立地变化。 别名 Handle/Body 结构 参与者 Abstraction — 定义抽象类的接口。 — 维护一个指向Implementor类型对象的指针。 RefinedAbstraction — 扩充由Abstraction定义的接口。 Implementor — 定义实现类的接口,该接口不一定要与Abstraction的接口完全一致;事实上这两个接口可以完全不同。一般来讲,Implementor接口仅提供基本操作,而Abstraction则定义了基于这些基本操作的较高层次的操作。 ConcreteImplementor — 实现Implementor接口并定义它的具体实现。 示例代码: public abstract class Abstraction { private Implementor impl; public Implementor getImpl() { return impl; } public void setImpl(Implementor impl) { this.impl = impl; } public Abstraction(Implementor impl) { this.impl = impl; } public abstract void operation(); } public class RefinedAbstraction extends Abstraction { public RefinedAbstraction(Implementor impl) { super(impl); } @Override public void operation() { getImpl()....