知识卡片

嵌入偏向组合

专业/工作 · 471.b.2.a.4.a.1.d.2.a.4

内容

嵌入类型让外层类型复用内层字段和方法,以组合方式扩展行为。发散:组合比继承更少承诺,适合让结构随需求演化。相较[[接口实现多态]]靠行为契约扩展,嵌入是靠结构复用扩展。

参考来源

- 位置:《Go语言实战》第5章《Go语言的类型系统》(源文件:_epub-src/OEBPS/Text/part0015.xhtml) - 结论依据:原文围绕“嵌入类型”给出定义、机制、流程、对比或限制条件,本卡片据此提炼可迁移的 Go 语言/工程结论,并补充边界或实践启发。 - 原始内容:dNotification 接受 notifier 类型的接口值,所以这个函数可以同时执行 user 和 admin 实现的行为。 5.5 嵌入类型 Go语言允许用户扩展或者修改已有类型的行为。这个功能对代码复用很重要,在修改已有类型以符合新类型的时候也很重要。这个功能是通过 嵌入类型 (type……