黄国强 2024/03/16
说点题外话,写程序是个非常有意思的智力游戏,想到业内很多人把这么一个智力游戏变成体力劳动,颇有些唏嘘。
回到正题,继续我对软件的思考。我是80年代的大学生,当时学的是dBASE数据库。毕业后的很多年开发的软件,数据存储都是自己写的,一直没有感到使用数据库的必要,对数据库本质的认识也比较模糊。
直到有一天,我看到了图灵机的定义。图灵机由三个部分组成:一个无限长的纸带(tape),一个能在纸带上读写符号的读写头(head),和一个能根据当前状态和符号来控制读写头动作的控制器(controller)。
我突然意识到数据库原来对应于图灵机的纸带。从这点出发,我对数据库有了新的认识。即发现了数据库的通讯价值。下图两个对象模型,这两个模型可以是两个进程。
图中左边的对象模型是用组合(composite)模式实现的。组合模式是非常常见的对象模型架构。两个模型通过数据库连接通讯。顺便说一句麦芯设备应用操作系统是通过Redis进行通讯。
[参考]
1 软件之禅(九)对象分类(Classify)
2 软件之禅(十一) 消息