桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。
1.优点
- 由于抽象与实现分离,所以扩展能力强;
- 其实现细节对客户透明。
2.代码示例
2.1 实现化角色
代码语言:javascript复制public interface Implementor {
/**
* 功能描述:
* 〈具体操作的实现类〉
*
* @params : []
* @return : void
* @author : cwl
* @date : 2019/6/24 10:50
*/
void OperationImpl();
}
2.2 抽象化角色
代码语言:javascript复制public abstract class Abstraction {
protected Implementor imple;
protected Abstraction(Implementor imple) {
this.imple=imple;
}
public abstract void Operation();
}
2.3 拓展抽象化角色
代码语言:javascript复制public class RefinedAbstraction extends Abstraction {
protected RefinedAbstraction(Implementor imple) {
super(imple);
}
@Override
public void Operation() {
System.out.println("扩展抽象化(Refined Abstraction)角色被访问" );
imple.OperationImpl();
}
}
2.4 具体实现化的角色
代码语言:javascript复制public class ConcreteImplementorA implements Implementor {
@Override
public void OperationImpl() {
System.out.println("具体实现化(Concrete Implementor)角色被访问" );
}
}
2.5 测试用例
代码语言:javascript复制public class BridgeTest {
public static void main(String[] args) {
Implementor imple=new ConcreteImplementorA();
Abstraction abs=new RefinedAbstraction(imple);
abs.Operation();
}
}