《架构整洁之道》阅读笔记01

我阅读的第一本名著是电子版的《架构整洁之道》,网上对这本书的评价很好,阅读后我总结了自己的一些阅读笔记和心得体会,按点论述一下:

1.程序员三个层次

1.1普通程序员:就是正确处理业务和数据计算,让代码跑起来

1.2工程师:写的代码易读、易维护、易扩展、可重用、效率高

1.3架构师:权衡、决策、简化、灵活、应对复杂度

 

2.软件开发需要解决的问题

1.微观:代码

2.宏观:架构

3.分离控制与逻辑

控制:对程序流转,与业务逻辑无关,如:多线程、异步、服务发现、消息中间件等,另外还有业务逻辑中的判断(if else) ,  是否可以去掉if else ,  变为根据一定规则进行路由到不同逻辑, 这样也便于扩展, 职责分离,同时也便于测试

逻辑:实实在在的业务逻辑,解决用户问题的逻辑

控制、逻辑构成了整体的软件复杂度,有效分离得到最大简化

 

3.架构对软件开发的影响

一个好的软件架构需要考虑以下四点:

3.1人力成本:可以大大节省软件项目构建与维护的人力成本

3.2变更成本:让每次变更都短小简单,易于实施

3.3风险:并且避免缺陷

3.4扩展性:最大程度地满足功能性和灵活性要求

 

4.设计与架构的关系

作者的观点是二者之间没有区别。我认为一般的软件设计与架构设计差别还是很大的,面临的问题,思考的方式都是不一样的。底层设计细节和高层架构信息是不可分割的。

 

5.复杂软件开发的思想

要想跑得快,先要跑得稳

 

6.软件架构的目标

支撑软件系统的全生命周期,设计良好的架构让系统便于理解、易于修改、方便维护,并能轻松部署

开发阶段:组件不要使用大量复杂的脚手架;不同团队负责不同的组件,避免不必要的协作

部署阶段:部署工作不要依赖成堆的脚本和配置文件;组件越多部署工作越繁重,而部署工作本身是没有价值的,做的越少越好,所以要减少组件数量

运行阶段:架构设计要考虑到不同的吞吐量、不同的响应时长要求;架构应起到揭示系统运行的

维护阶段:减少探秘成本和风险。探秘成本是对现有软件系统的挖掘工作,确定新功能或修复问题的最佳位置和方式。风险是做改动时,可能衍生出新的问题

 
posted @ 2020-03-06 21:13  Tsui98'  阅读(173)  评论(0编辑  收藏  举报