栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > 架构设计

软件架构领域集大成者——《架构之美》读书笔记

架构设计 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

软件架构领域集大成者——《架构之美》读书笔记

一、读后感

整部书由23位知名人士撰写,每个人都久负软件设计相关经验,给出很多具有实际指导意义的架构设计实践。有趣的是本书一直强调软件架构的概念一致性,即架构设计需要上下文和谐与统一,但是编写本书却是集各家之言,很难保证他们所思所想是一致地,因此本书需要有一个清晰的框架准则来约束编写者。这个框架准则就是编者要有相同的关注点:让优秀的设计师和架构师来描述他们所选的软件架构,一层层剥开架构的“心”,展示架构是如何让软件实现以下这些特性的。

阅读本书能够清晰地捕捉到文章脉络,在前言中介绍了书的组成,在没有看前言的 前提下,读者也能够从一章的叙述方式推演到其它章节的叙述方式(举一反三),降低理解的成本,让读者心旷神怡。

全书有5部分,因为笔者是基于Web做后端开发,省略第三部分没看。等有需要的时候再着重阅读。极限编程的思想是不想太多,马上码代码,把重点功能搞出来,设计可以延时来做。与之对应,在阅读本书时,笔者采用极限阅读的思想,先阅读,然后摘抄和记笔记,分析可以延时考虑。

其实再思考一下架构这玩意和写博客何其相似,博客需要清晰的框架,好的框架对读者和作者都有好处,读者能够从优秀的博客中快速获取到需要的内容,作者在写作时能够得到享受,如章节的扩展、补充、修改都是一件件容易的事情。

一、什么是软件架构

正如《道德经》第一章所言:“道可道,非常道。”架构可以说是一种“道”,美的架构是“非常道”,需要经过长时间的训练才可以执行和落地。软件架构的定义不统一,但描述相对完备的如《Software Architecture in Practice》所讲:“软件架构是系统的一种结构或一组结构,包含软件元素、这些元素的外部可见属性以及元素之间的关系。‘外部可见’的属性指的是其它元素对该元素的假设,诸如它提供的服务、执行时的特征、错误处理、共享资源的使用等”。

架构的表现形式是分层结构,特征是概念完整性。

架构设计保持概念完整性的好处:

  • 让开发者了解系统的一部分后,能够迅速理解系统的其它部分;
  • 让开发者运用在系统的一部分工作经验,来开发和维护系统的其它部分;
二、如何评估软件架构

两种评估方式:

  • 通过建模或者模拟系统的一个或多个方面来确定架构的属性
    性能模型、失效树模型等;
  • 通过对架构师提出质询来评估(使用广泛)
    架构折中分析方法、主动复审方法。
三、软件架构“名人堂”
名称来源
A-7E舰载飞行处理器美国海军研究实验室
5ESS电话交换机朗讯
万维网蒂姆·伯纳斯-李(Tim Berners-Lee)
UNIX丹尼斯·里奇、肯尼思·汤普森
四、软件架构师的职责
  1. 同时关注功能和性能且后者是首要关注点;
  2. 让利益相关人员参与;
  3. 创建架构保持一种思考方式和哲学;

关注点包含:



五、重点语句摘抄
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/910738.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号