知识卡片

具化把架构抽象做成可见代码元素

普通读书笔记卡 · 1958.j.6

内容

“具化”(reification)是把一个抽象概念创建成真实对象来表达——如把”事件”从一次方法调用升级为专门的Event对象。这是表达设计意图的核心策略:给组件类型建一个空的Component超类,即便没有可复用代码,也能靠IDE的”查找子类”一眼列出系统里所有组件;连接器同理可具化成Connector子类。这些代码不影响运行时性能,纯粹给读者留线索——知道约定后就能从结构直接读出”这是组件”。

参考来源

- 位置:《恰如其分的软件架构》第10章《代码模型》10.7节《在代码中表达设计意图的模式》(源文件:_epub-src/OEBPS/text00102.html) - 结论依据:原文定义具化为创建对象表达概念的通用面向对象模式,并说明组件类型、连接器类型都可以通过具化为空的超类或接口,让IDE能查找子类列出所有组件/连接器,代码不影响运行时性能,纯为传递架构线索。 - 原始内容:这种通用的面向对象模式称为具化(reification),即创建一个对象来表达一个概念……你也可以提供一个空的抽象超类或接口,Component,用来为那些你想要的组件类打上组件的标签……这些模式都是形式化的,加几行代码,并不会带来运行时性能和空间的开销。