知识卡片

信息专家模式:信息持有者即操作专家

普通读书笔记卡 · 1979.m

内容

信息专家模式的核心:信息的持有者即为操作该信息的专家(“专业的事交给专业的对象做”)。分配职责的标准是看哪个对象真正“理解”这个职责——理解与否取决于它是否拥有理解该职责的知识(知识即信息,信息即对象拥有的数据)。报表参数例:SimpleParameter/ItemParameter/TableParameter 最清楚各自数据结构,就该由它们各自实现 fill(),而非让 ParameterController 用 instanceof 逐类处理;进一步把 fill() 提到 Parameter 接口即形成多态,调用者只关注“做什么”而非“如何做”。发散:见到大段 if/instanceof 按类型分支处理别人数据的代码,优先考虑把行为下沉到各信息持有者并用多态收敛。

参考来源

- 位置:《解构领域驱动设计》附录A A.2.1(源文件:_epub-src/OEBPS/034.xhtml) - 结论依据:原文以报表参数填充为例阐述信息专家模式,说明职责应优先分配给信息持有者并可演进为多态。 - 原始内容:信息的持有者即为操作该信息的专家……分配职责的标准是看哪个对象真正“理解”这个职责。