9、桥梁(Bridge)模式
桥梁模式的结构图
这个系统含有两个等级结构:
- 抽象化角色(abstaction)和修正抽象化角色(RefinedAbstraction)构成抽象化等级结构
- 由实现化角色(Implementor)和两个具体实现化角色所构成的实现化等级
Facade模式的角色:
- 抽象化角色(Abstraction): 保存一个实现化对象的引用,给出抽象化定义
- 修正抽象化角色(Refined Abstrction): 扩展抽象化角色,改正和修正父类对抽象化的定义
- 实现化角色(Implementor): 给出实现化角色的接口,但不给出具体的实现
- 具体实现化角色(Concrete Implementor) : 这个角色给出实现化角色接口的具体实现
实例代码:
/**
* 抽象化角色
*/
public abstract class Abstaction {
protected Implementor imp;
/**
* 某个商业方法
*/
public void operation(){
imp.operationImp();
}
}
/**修正抽象化角色*/
public class RefinedAbstraction extends Abstaction {
/** 商业方法在抽象化角色的实现 */
@Override
public void operation() {
//修改父类实现逻辑
}
}
/**
* 实现化角色
*/
public abstract class Implementor {
/**
* 某个商业方法的实现化声明
*/
public abstract void operationImp();
}
/**
* 具体实现化角色
*/
public class ConcreteImplementorA extends Implementor {
/**商业方法的实现*/
@Override
public void operationImp() {
System.out.println("Do something...");
}
}