zoukankan      html  css  js  c++  java
  • 架构之美阅读笔记二

      阅读了《架构之美》的第二章,其中书中写了两个系统的故事,在这两个故事中我深刻的了解到了有好的架构和没有架构的区别,书中所说一个很好的架构就像建筑和后面的路构成的一个城市,均衡和和谐,有利于导航;而后者是偶然代码聚集而成的一个系统,交通设施简陋,建筑单调而平凡置身于其中会完全找不着路。当然我们会更喜欢于前者,这就是两者之间一个很大的区别。下面我说一下从这两个故事中具体学到的东西。

      第一个软件的系统名叫“混乱大都市”,他是作者最喜欢回顾的一个系统,在开发这个系统时,每个代码,每个模块都是混乱的叠在一起的,根本没有清晰的思路,当绞尽脑汁画出该系统的架构图时,是混乱不堪的,加上团队之间不交流,沉浸在自己的软件帝国中。到后来达到的后果是,系统很难被人理解,代码堆叠在一起,没有很好的办法来修复它;缺乏内聚和耦合,每个模块牵扯的东西太多;代码在系统中不断的重复;没有清晰的需求;团队之间没有交流,更加腐败等一系列问题。所以,大都市基本是不可修复的,最终也导致公司严重的财务问题。第二个软件的系统名叫“设计之城”,这个系统在开发一开始,架构人员就做好了很好的设计,架构有很好的扩展性,在功能的扩展上建立了很好的基础;保持这很好的品质;加入了单元测试,更加利于了系统的维护;还有就是很好的团队协作。这样的软件在日后还在成长和变化。

      从作者讲的这两个故事中,我们可以深刻感觉到软件架构对系统的重要性,并且在两个故事中我们也学到了怎样做好一个软件,架构建立时要考虑到系统的扩展性,要有很好的接口;有意识的加入单元测试,避免后期维护的困难,系统各功能和模块注意内聚和耦合,避免不必要的内聚和耦合;最重要的一点还有在开发软件的始终要保持软件的品质;团队合作是必须的。

  • 相关阅读:
    BZOJ3752 : Hack
    XIV Open Cup named after E.V. Pankratiev. GP of SPb
    XIII Open Cup named after E.V. Pankratiev. GP of Ukraine
    BZOJ2087 : [Poi2010]Sheep
    BZOJ2080 : [Poi2010]Railway
    BZOJ2082 : [Poi2010]Divine divisor
    Moscow Pre-Finals Workshop 2016. National Taiwan U Selection
    XIII Open Cup named after E.V. Pankratiev. GP of Asia and South Caucasus
    XIII Open Cup named after E.V. Pankratiev. GP of Azov Sea
    XIII Open Cup named after E.V. Pankratiev. GP of SPb
  • 原文地址:https://www.cnblogs.com/hyluckydog/p/6413387.html
Copyright © 2011-2022 走看看