| 意图 | 抽象与实现解耦,独立演化 |
|---|---|
| 信号 | 两个维度都在扩展、子类数量相乘 |
| 对比 | 策略模式面向算法替换,Bridge 强调体系级拆分 |
Java 示例
Java 示例
abstract class Shape {
protected Renderer renderer;
abstract void draw();
}
class Circle extends Shape {
void draw() { renderer.renderCircle(); }
}把抽象(做什么)与实现(怎么做)分离为两条独立的继承体系:维度一(如形状)与维度二(如渲染引擎)各自扩展,组合而非相乘。
| 意图 | 抽象与实现解耦,独立演化 |
|---|---|
| 信号 | 两个维度都在扩展、子类数量相乘 |
| 对比 | 策略模式面向算法替换,Bridge 强调体系级拆分 |
abstract class Shape {
protected Renderer renderer;
abstract void draw();
}
class Circle extends Shape {
void draw() { renderer.renderCircle(); }
}