知识卡片

跨视图类型思考的困难与应对

普通读书笔记卡 · 1958.i.12

内容

从模块视图类型(静态代码)推想运行时视图类型(动态过程)天生困难——Dijkstra早在1968年指出,人的智力更擅长把握静态关系,想象按时间展开的过程演变相对吃力,应尽量缩小程序文本和运行过程间的概念鸿沟。应对有两招:一是采用架构明显的编码风格,让源代码结构本身能联想到运行时元素;二是从合适视图类型出发回答问题——想知道有多少实例、如何通信,直接看运行时视图比死磕代码推演准确得多。

参考来源

- 位置:《恰如其分的软件架构》第9章《设计模型》9.6.4节《跨视图类型的思考》(源文件:_epub-src/OEBPS/text00090.html) - 结论依据:原文引用Dijkstra 1968年的论述说明人的智力更适合掌握静态关系而非动态过程演变,并提出两个应对方法:采用架构明显的编码风格、从合适的视图类型出发思考问题(如运行时问题直接看运行时视图)。 - 原始内容:我们的智力更适于掌握静态的关系……而在想象按时间展开的过程演变方面的能力相对欠缺……要想知道有多少实例,它们相互之间是如何进行通信的,最好是看运行时视图……这些问题已经在运行时视图中直截了当地给出了答案。