桥梁模式(bridge pattern)
1、桥梁模式
桥梁模式的用意是“使抽象化和实现化解耦,使得两者可以独立的变化”。
抽象化
存在于多个实例之间共同的概念性联系,就是抽象化。
实现化
抽象化给出的具体实现就是实现化。
解耦
所谓耦合就是两个实体之间的某种强关联,将他们之间的强关联去掉就是解耦,一般情况下通过聚合代替继承实现解耦。
2、结构图
在abstraction中包含implement变量实现两个类之间的聚合关系,降低两个类之间的耦合。
3、代码
在java面向对象编程中接口是解耦的做好办法
Abstraction接口
/**
* 抽象类接口
* @author qiang
*
*/
public interface Abstraction {
public void operate();
}
Implement接口
/**
* 实现操作接口
* @author qiang
*
*/
public interface Implement {
public void operate();
}
Abstraction实现类
public class ConcreteAbstraction implements Abstraction {
private Implement imp;
public ConcreteAbstraction(Implement imp) {
super();
this.imp = imp;
}
@Override
public void operate() {
imp.operate();
}
}
Implement实现类
public class ConcreteImplement implements Implement {
@Override
public void operate() {
System.out.println("do something....");
}
}
客户端调用类
public class Client {
public static void main(String[] args) {
Implement imp = new ConcreteImplement();
Abstraction abs = new ConcreteAbstraction(imp);
abs.operate();
}
}