一、读后感

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

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

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

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

一、什么是软件架构

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

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

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

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

二、如何评估软件架构

两种评估方式:

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

三、软件架构“名人堂”

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

四、软件架构师的职责

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

关注点包含:



五、重点语句摘抄

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

  1. 架构之美读书笔记03

    1. 系统的伸缩性需求.如大型在线游戏,需要满足大量用户.在线用户数量短时间内可能有很大的变化. 这其中隐含的需求是: 多用户并行分布式系统,系统运行在多台机器上 高可扩展性(用于加入新的故事情节,意 ...

  2. 领域驱动设计DDD之读书笔记

    查看文章   领域驱动设计DDD之读书笔记  转载原地址:http://hi.baidu.com/lijiangzj 2007-08-17 16:53 一.当前Java软件开发中几种认识误区 Hibe ...

  3. 设计模式之美读书笔记

    目录 设计模式之美 读书笔记5- 哪些代码看似面向对象,实际是面向过程编程? 读书笔记4- 封装.抽象.继承.多态分别解决了什么编程问题? 读书笔记3- 我们在讨论面向对象的时候,主要说的是什么? 读 ...

  4. 数据分析?他们早就开始用了——数学之美读书笔记

    数据分析?他们早就开始用了? 标题取得很好听,其实就是<数学之美>这本书的读书笔记.这是每一个想学编程了解计算机的人都不应该错过的好书,必须推荐 光 看这个名字,你可能以为它就是一本讲数学 ...

  5. 架构之美阅读笔记之一

    寒假生活开始了,关于软件架构这部分的学习,我选择的是<架构之美>这本书.这本出版于2009年的书,由浅入深地讲述了从架构的概述,到企业级应用架构,系统架构,最终用户应用架构,再到语言与架构 ...

  6. 度量相似性数学建模_数学之美读书笔记

    2020年6月读,先通读一遍,随后为写读书笔记又重新读了一遍,收获颇丰,虽然没有很多数学或者编程方面的知识,但正如作者所说,这本书讲述的是道,而非术. 读这本书让我领略到了科学的趣味,并不是枯燥的敲代 ...

  7. 编程之美 - 读书笔记 - 卖书折扣问题的贪心解法

    <编程之美>读书笔记(四):卖书折扣问题的贪心解法 每 次看完<编程之美>中的问题,想要亲自演算一下或深入思考的时候,都觉得时间过得很快,动辄一两个小时,如果再把代码敲一遍的话 ...

  8. 《架构漫谈》读书笔记五

    什么是软件 软件架构的出现 如同前面描述的架构的定义,软件架构的出现也是同样的.一开始是懵懵懂懂的去写软件,后来慢慢的就有意识的去切分,演变成了不同的架构.这个背后的动力也是一样的,就是提升参与的人的 ...

  9. 数学之美-读书笔记6-10章

    文章目录 数学之美 第六章 信息的度量和作用 1信息熵 2信息的作用 3互信息 4延伸阅读 第7章 贾里尼克和现代语言处理 1早年生活 2 从水门事件到莫妮卡·莱文斯基 3一位老人的奇迹 第八章 简单 ...

  10. 《微服务架构设计模式》读书笔记 | 第9章 微服务架构中的测试策略(上)

    第9章 微服务架构中的测试策略(上) 前言 1. 微服务架构中的测试策略概述 1.1 编写自动化测试 1.2 使用模拟和桩进行测试 1.3 使用范围对测试进行分类 1.4 使用测试象限对测试进行分类 ...

最新文章

  1. Android Studio添加代码头注释使用
  2. 用vs2008打开vs2012项目
  3. 《浪潮之巅》 读后感
  4. Linux里设置环境变量的方法(export PATH)
  5. python3是unicode还是utf-8_ASCII、Unicode、UTF-8以及Python3编码问题
  6. 使用 Boost.MPI 的 gather() 的示例
  7. Linux设置ssh免密码登录
  8. 人工神经网络(Artificial Neural Netwroks)笔记-消除样本顺序的BP算法
  9. python基本数据类型(一)-python3.0学习笔记
  10. Windows 7安装.net framework 4 安装
  11. ESP8266WiFi模块实现代码
  12. 32位系统和64位区别
  13. hp-unix操作系统root账号被锁定的两种解决方法:
  14. 自定义View 仿QQ运动步数进度效果
  15. 国标GB/T28181视频流媒体服务器4G摄像头视频无插件直播方案对接过程中前端设备正常上线但视频无法播放问题解决
  16. PDF Search for Mac(PDF文件搜索工具)
  17. HTTP如何保证安全传输
  18. 欧拉函数和莫比乌斯反演(Mobius)
  19. 网关技术详解及常见网关对比
  20. BS客户端安全使用解决方案

热门文章

  1. WebApp 安全入门
  2. 文字时钟罗盘动态html代码_文字时钟罗盘动态html代码工具-文字时钟APP最新版下载-游戏窝...
  3. 支持IE8的文件上传
  4. 对外汉语语料库有哪些_史上最全最新的语料库资源大全【对外汉语教学研究工具】...
  5. 使用IAR软件的搜索快捷键出现中文繁体现象
  6. CentOS hping3安装
  7. 泛娱乐出海走出水土不服,元宇宙社交诞生新机会!
  8. iOS:特殊符号大全
  9. java生成word带多级标题,word自动生成多级标题的方法
  10. 《毫米波雷达运动人体目标建模与特征提取》---论文学习笔记