知识卡片
具化把架构抽象做成可见代码元素
内容
“具化”(reification)是把一个抽象概念创建成真实对象来表达——如把”事件”从一次方法调用升级为专门的Event对象。这是表达设计意图的核心策略:给组件类型建一个空的Component超类,即便没有可复用代码,也能靠IDE的”查找子类”一眼列出系统里所有组件;连接器同理可具化成Connector子类。这些代码不影响运行时性能,纯粹给读者留线索——知道约定后就能从结构直接读出”这是组件”。
参考来源
- 位置:《恰如其分的软件架构》第10章《代码模型》10.7节《在代码中表达设计意图的模式》(源文件:_epub-src/OEBPS/text00102.html)
- 结论依据:原文定义具化为创建对象表达概念的通用面向对象模式,并说明组件类型、连接器类型都可以通过具化为空的超类或接口,让IDE能查找子类列出所有组件/连接器,代码不影响运行时性能,纯为传递架构线索。
- 原始内容:这种通用的面向对象模式称为具化(reification),即创建一个对象来表达一个概念……你也可以提供一个空的抽象超类或接口,Component,用来为那些你想要的组件类打上组件的标签……这些模式都是形式化的,加几行代码,并不会带来运行时性能和空间的开销。