| 场景 | 同一 switch/if 链在多处按类型分支 |
|---|---|
| 步骤 | 建层次 → 工厂选择实现 → 分支下沉 |
| 前提 | 类型集合相对封闭,行为差异显著 |
方向示例
方向示例
class Bird {
double speed() { ... }
}
class EuropeanSwallow extends Bird { ... }
class AfricanSwallow extends Bird { ... }
// 调用方
return bird.speed();语言支持时先用模式匹配评估:Java switch 模式、Rust enum + match 往往比类层次更直白。