(1)体系结构是对复杂事物的一种抽象。良好的体系结构
是普遍适用的,它可以高效地处理多种多样的个体需求。
一提起“房子”,我们的脑中马上就会出现房子的印象(而
不是地洞的印象)。“房子”是人们对住宿或办公环境的一
种抽象。不论是办公楼还是民房,同一类建筑物(甚至不
同类的建筑物)之间都具有非常相似的体系结构和构造方
式。如果 13 亿中国人民每个人都要用特别的方式构造奇异
的房子,那么 960 万平方公里的土地将会变得千疮百孔,
终日不得安宁。
(2)体系结构在一定的时间保持稳定。只有在稳定的环境
下,人们才能干点事情,社会才能发展。科学告诉我们,
宇宙间万物无时无刻不在运动、飞行。由于我们的生活环
境在地球上保持相对稳定,以致于我们可以无忧无虑地吃
饭和睡觉,压根就意识不到自己是活生生的导弹。软件开
发最怕的就是需求变化,但“需求会发生变化”是个无法
逃避的现实。人们希望在需求发生变化时,最好只对软件
做些皮皮毛毛的修改,可千万别改动软件的体系结构。就
如人们对住宿的需求也会变动,你可以经常改变房间的装
璜和摆设,但不会在每次变动时都要去折墙、拆柱、挖地
基。如果当需求发生变化时,程序员不得不去修改软件的