Bridge 模式又叫做桥接模式,是构造型的设计模式之一。Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。
UML 图:
代码:
public class Client {
public static void main(String[] args) {
Pen bigPen= new BigPen();
bigPen.setColor(new Blue());
bigPen.draw();
Pen smallPen = new SmallPen();
smallPen.setColor(new Red());
smallPen.draw();
}
}
public interface Color {
}
public class Blue implements Color {
}
public class Red implements Color {
}
public abstract class Pen {
Color color ;
public void setColor(Color color){
this.color = color;
}
public void draw() {
}
}
public class BigPen extends Pen{
@Override
public void draw() {
System.out.println(this.getClass().toString());
System.out.println(this.color.getClass().toString());
}
}
public class SmallPen extends Pen{
@Override
public void draw() {
System.out.println(this.getClass().toString());
System.out.println(this.color.getClass().toString());
}
}
打印结果:
class com.pattern.bridge.BigPen
class com.pattern.bridge.Blue
class com.pattern.bridge.SmallPen
class com.pattern.bridge.Red