知识卡片

差异化编程:按差异而非is关系建立继承

普通读书笔记卡 · 1974.n

内容

真实世界一概念”是”另一概念,不意味着必然存在继承关系。设计继承须遵循差异化编程:按差异而非类型值建继承体系,主属性趋同、差异在从属性。开发/测试/架构师都”是”员工但类型无差异,差异在角色——应分离Role、由Employee合成(合成/聚合复用原则),而非以is关系建整体继承。

参考来源

- 位置:《解构领域驱动设计》16.2.2 泛化关系的处理(源文件:_epub-src/OEBPS/028.xhtml) - 结论依据:确立差异化编程原则与合成优先。 - 原始内容:设计继承时,需要遵循差异化编程(programming by difference)的原则,即根据差异而非类型的值去建立继承体系……遵循了合成/聚合复用原则……是Employee合成了Role,而非将Employee作为整体建立继承体系。