
建筑架构设计关注“环境”,而软件架构设计关注“变化”。
任何建筑的存在都依赖于它所处的环境,其中包括人为环境和自然环境。所谓“水能载舟,亦能覆舟”,建筑所处的环境不仅是其存进因素,也是其制约条件,合理把握能达到出其不意的效果,把握不当也会带来不可预计的损失。

软件架构设计更多也是为了可能的“变化”所服务。在较恶劣的“变化“到来之时,维护者们为了快速交付任务,会随意堆积代码,代码交付就像马拉松随后的冲刺,临近极限就像博尔特短跑冲刺,肆意堆积代码,任由病毒滋生,从而产生一个难以理解的软件系统,这样的软件系统看起来几乎是不可能修改的,每一个新加的成员都会为其复杂度所惊讶,而前期的架构设计应该做好”选址“,尽量避免因为”天灾人祸“的降临,使得”大厦将倾“。建筑架构设计和软件架构设计不同关注点,如图1.3所示。

想全面系统地了解计算机软件架构的知识,还可以参考《移动开发架构设计实战》,掌握架构体系知识。
