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