第四章乐高王国

软件开发者常常谈及“前台”和“后台”。用户在前台,前台是程序中和用户打交道的部分——显示窗体、对话框和鼠标指示,告诉你正在发生什么,让你有办法输入信息并得到输出信息。后台是前台发生的事件和用户输入流向的地方,计算机对事件和输入进行处理、保存、取回。前台应该精致、直观、功能强大;后台应该隐形、高效、如岩石一般强固。前台与人对话;后台与比特对话。

现在最为普遍的计算机数据库——比如大货成功的Oracle产品,或者日益流行的开源产品MySQL——是“关系型数据库”:信息被打散成离散的小单元,存储在大表中,你可以构造复杂的查询语句、有效组合这些信息。因为有一种叫事务的模型,关系数据库通常相当可靠。事务模型记录对每个小数据的每次修改,这样,当发生崩溃或数据损坏时,还能重建信息。

软件组件能否像乐高积木一样随意组合呢?这是作者提出的问题,模块化和组件化是软件开发者的梦想,想法是很美好的,但现实是残酷的,这些模块通常不能互相协调工作,无法完美契合。

       在同一类组件库中,往往有许多种不同的选择,每种选择还有许多种不同的版本。可用的代码以及每种代码包所能做的事如此之多,多到连老手们有时都会忘记有哪些可用代码。

问题:之前我也有过像“乐高玩具”一样的想法,把软件的模块组装起来形成一个新的软件,不过经过实际操作发现,真的很难很难。

posted on 2019-04-30 15:08  金猫大帝  阅读(111)  评论(0编辑  收藏  举报