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

一、读后感

整部书由23位知名人士撰写,每个人都久负软件设计相关经验,给出很多具有实际指导意义的架构设计实践。有趣的是本书一直强调软件架构的概念一致性,即架构设计需要上下文和谐与统一,但是编写本书却是集各家之言,很难保证他们所思所想是一致地,因此本书需要有一个清晰的框架准则来约束编写者。这个框架准则就是编者要有相同的关注点:让优秀的设计师和架构师来描述他们所选的软件架构,一层层剥开架构的“心”,展示架构是如何让软件实现以下这些特性的。
在这里插入图片描述
阅读本书能够清晰地捕捉到文章脉络,在前言中介绍了书的组成,在没有看前言的 前提下,读者也能够从一章的叙述方式推演到其它章节的叙述方式(举一反三),降低理解的成本,让读者心旷神怡。

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

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

一、什么是软件架构

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

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

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

  • 让开发者了解系统的一部分后,能够迅速理解系统的其它部分;
  • 让开发者运用在系统的一部分工作经验,来开发和维护系统的其它部分;

二、如何评估软件架构

两种评估方式:

  • 通过建模或者模拟系统的一个或多个方面来确定架构的属性
    性能模型、失效树模型等;
  • 通过对架构师提出质询来评估(使用广泛
    架构折中分析方法、主动复审方法。

三、软件架构“名人堂”

名称来源
A-7E舰载飞行处理器美国海军研究实验室
5ESS电话交换机朗讯
万维网蒂姆·伯纳斯-李(Tim Berners-Lee)
UNIX丹尼斯·里奇、肯尼思·汤普森

四、软件架构师的职责

  1. 同时关注功能和性能且后者是首要关注点;
  2. 让利益相关人员参与;
  3. 创建架构保持一种思考方式和哲学;

关注点包含:

功能性
在这里插入图片描述
在这里插入图片描述

五、重点语句摘抄

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追寻上飞

鼓励一下这只勤劳的小蜜蜂吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值