• 架构之美阅读笔记二


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

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

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

  • 相关阅读:
    Redis 事务相关的命令有哪几个?
    是否了解字典树?
    memcached 是如何做身份验证的?
    memcached 和服务器的 local cache(比如 PHP 的 APC、 mmap 文件等)相比,有什么优缺点?
    memcached 如何处理容错的?
    memcached 的多线程是什么?如何使用它们?
    memcached 的内存分配器是如何工作的?为什么不适用 malloc/free!?为何要使用 slabs?
    memcached 如何实现冗余机制?
    memcached 最大能存储多大的单个 item?
    memcached 能接受的 key 的最大长度是多少?
  • 原文地址:https://www.cnblogs.com/hyluckydog/p/6413387.html
Copyright © 2020-2023  润新知