阅读了《架构之美》的第二章,其中书中写了两个系统的故事,在这两个故事中我深刻的了解到了有好的架构和没有架构的区别,书中所说一个很好的架构就像建筑和后面的路构成的一个城市,均衡和和谐,有利于导航;而后者是偶然代码聚集而成的一个系统,交通设施简陋,建筑单调而平凡置身于其中会完全找不着路。当然我们会更喜欢于前者,这就是两者之间一个很大的区别。下面我说一下从这两个故事中具体学到的东西。
第一个软件的系统名叫“混乱大都市”,他是作者最喜欢回顾的一个系统,在开发这个系统时,每个代码,每个模块都是混乱的叠在一起的,根本没有清晰的思路,当绞尽脑汁画出该系统的架构图时,是混乱不堪的,加上团队之间不交流,沉浸在自己的软件帝国中。到后来达到的后果是,系统很难被人理解,代码堆叠在一起,没有很好的办法来修复它;缺乏内聚和耦合,每个模块牵扯的东西太多;代码在系统中不断的重复;没有清晰的需求;团队之间没有交流,更加腐败等一系列问题。所以,大都市基本是不可修复的,最终也导致公司严重的财务问题。第二个软件的系统名叫“设计之城”,这个系统在开发一开始,架构人员就做好了很好的设计,架构有很好的扩展性,在功能的扩展上建立了很好的基础;保持这很好的品质;加入了单元测试,更加利于了系统的维护;还有就是很好的团队协作。这样的软件在日后还在成长和变化。
从作者讲的这两个故事中,我们可以深刻感觉到软件架构对系统的重要性,并且在两个故事中我们也学到了怎样做好一个软件,架构建立时要考虑到系统的扩展性,要有很好的接口;有意识的加入单元测试,避免后期维护的困难,系统各功能和模块注意内聚和耦合,避免不必要的内聚和耦合;最重要的一点还有在开发软件的始终要保持软件的品质;团队合作是必须的。