WebMD
本页大纲

组合(Composition)

缩写:无

简述

通过持有其它对象并委托其能力来构建功能的方式,表达「有一个」而非「是一种」。组合降低层次耦合、便于运行时替换部件,是复杂系统更稳妥的默认结构手段。

使用场景

功能拼装、策略嵌入、中间件管道、领域聚合。

实践与应用

• 把变化点做成可替换组件
• 明确所有权与生命周期
• 委托而非暴露内部

注意事项

• 过深委托链难追踪
• 循环组合引用

对比与易混

组合 继承
结构 持有并委托 沿父类型获得行为
默认建议 变化点优先组合 分类关系清晰时再用继承

关联术语

• 继承:用持有部件对照「是一种」复用
• 委托:把行为转交内部对象
• 封装:组合时仍应隐藏内部
• 依赖注入:外部注入被组合的依赖