《一线架构师实践指南》读书笔记

第一章 绪论

1.架构设计能力,因掌握起来困难而显得珍贵。

2.六个经典困惑:

将系统划分模块,如何更合理?

大系统架构设计,如何起步?

总觉需求很糟糕,影响了架构设计!

非功能需求重要,但如何设计?

架构新手:缺乏指导,架构设计不知所措!

架构老手:缺乏总结,仍“怕”下个项目!

3.本书介绍的方法体系为ADMEMS,是“ArchiteturalDesignMethodhasbeenExtendedtoMethodSystem(架构设计方法已经扩展到方法体系)”由多个各具特点的方法组成的方法体系。

4.架构是需求驱动的,不是模型驱动的。

5.质疑意识,是架构师最宝贵的意识之一。

第二章 Pre-architecture 的故事

1.错的一半是“金”,败的一半是"贝",错中求金,败中求贝。

2.关注约束,要趁早,必须把虚存管理裁剪掉,直接访问物理内存。

3.软件架构师应在需求分类,需求折中和需求变更的研究方向方面的专家。

第三章 Pre-architecture 的总论

1.面对需求的四步法:

需求结构化

分析约束影响

确定关键质量

确定关键功能

2.大局观,关键需求决定架构,其余需求验证架构

3.架构失败的主要原因

遗漏至关重要的架构影响因素50%

不能驯服频繁变化的需求40%

不能覆盖架构各个方面30%

不能验证架构并作出调整40%

4.让架构师参与需求分析工作

第五章 确定关键质量和关键功能

1.人之所以痛苦,数追求错误的东西

2.举例:亚马逊运行期质量:

可伸缩性:几乎没有上限

性能:强调速度,又强调吞吐量

易用性:最便捷的选择方式

安全性:数据安全

持续可用性:不停机

互操作性:公司中各系统的互操作

3.举例:亚马逊开发期质量:可扩展性

第六章 概念架构的故事

1.胜兵先胜而求战,败兵先战而求胜——孙子兵法

2.人们常常使用战术,而忽略战略,战略要求从大局上把握整个架构与设计,架构错误的代价非常高——stephaneFaroult

3.和客户,不是讲纯技术,而是抓住客户关心的价值和担心的问题,并在一个小时之内清晰地勾画出产品的相应策略

4.当要设计的软件系统非常复杂时,直接设计实际架构往往有困难,要先进行概念架构的设计,把最关键的设计要素和交互机制确定下来。

第七章 Conceptual Architecture总论

1.概念架构设计分为3个步骤

初步设计,基于关键功能

高层分割,对系统这个黑盒子进行高层切分子系统

    考虑非功能需求

第八章 初步设计

1.初步设计只有在设计复杂性时才需要。2.初步设计不应该关注细节

第九章 高层分割

1.复杂性是层次化的——《人月神话》2.高层分割很重要,不是概念架构的全部,除了切分决策之外,概念架构还包括技术选择,权衡策略等种类的决策。

第十章 考虑非功能需求

1.非功能需求一般很笼统,但考虑非功能目标要趁早。

第十一章 细化架构的故事

第十二章 Refined Architecture 总论

第十三章 逻辑架构

1.架构最重要的一点,就是它能吧难以处理的大问题分解成便于管理的小问题。

2.一流意味着寻找恰当的抽象,意味着通过新的途径合理利用有限的资源。

3.就划分子系统策略,可归纳为3种:(看不懂)

分层的细化

分区的引入

机制的提取

4.划分子系统的4个重要原则:

职责不同的单元划归不同子系统

通用性不同的单元划归不同子系统

需要不同开发技能的单元划归不同子系统

坚固工作量的相对均衡,进一步切分太大的子系统

5.协作决定接口,"分"是手段,"合"是目的,不能合在一起支持更高层次功能的模块,有何用?

6.设计模式是基础,要站在各个角度看软件架构。

第十四章 物理架构、运行架构、开发架构

1.我认识一些架构师,他们的生活是失控的,因为架构天性范围宽广,涉及的人和工作量都非常多,一些架构师整天的和“项目干系人”开会,然后周末做实际的架构工作。

2.有能力的架构师,再加上聪明的管理策略就更好,让程序员参与到架构实践的工作中去。

3.重用测试是关键

第十五章 数据架构的难点:数据分布

1.铃声下载门户将热门铃声复制到所有服务器上,将冷门的铃声分开存放。

专题:非功能目标的方法论

1.架构师不能做四拍型决策者

决策时拍脑袋——就这么定了

指挥时拍胸脯——保证没问题

失误时拍大腿——我怎么没想到

追查时拍屁股——老子不干了

2.将过于笼统的目标实际场景化

读后感

这本书并不适合我,思考高度不一样,也许等成为架构师或者是做企业软件才适合。

还是很努力的看完了。收获不多。

相关推荐