Composition over Inheritance
组合优先原则建议通过包含其他对象构建行为而非继承,避免脆弱基类与深层继承链。
用途
设计灵活可维护的对象关系,避免继承的耦合与脆弱性。
机制
has-a 关系(组合)优于 is-a 关系(继承)。组合可在运行时替换组件,继承在编译时固定。策略模式、装饰器模式用组合。接口 + 组合实现多态无需继承。
用例
- 面向对象设计
- 设计模式
- 代码架构
组合优先原则建议通过包含其他对象构建行为而非继承,避免脆弱基类与深层继承链。
设计灵活可维护的对象关系,避免继承的耦合与脆弱性。
has-a 关系(组合)优于 is-a 关系(继承)。组合可在运行时替换组件,继承在编译时固定。策略模式、装饰器模式用组合。接口 + 组合实现多态无需继承。