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

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

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

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

  • 相关阅读:
    实时web应用方案——SignalR(.net core) 理论篇
    Performance Improvements in .NET Core 3.0
    在Asp.NET Core中如何管理用户机密数据
    NetCore 配置文件---直接读取及选项模式读取
    NetCore WebApi 及 搭建Swagger
    奇妙的 CSS MASK
    基于Docker安装并使用Elastic APM实现指标监控
    记录HBase手动删除Hadoop备份(archive)文件后,引发Hbase写入数据出错等一系列问题处理
    arm-linux-gcc 规定 char 为 unsigned char 导致程序运行出错
    linux下生成core dump文件方法及设置
  • 原文地址:https://www.cnblogs.com/hyluckydog/p/6413387.html
Copyright © 2011-2022 走看看