读书笔记 架构 第二章
架构思维 《软件架构:架构模式、特征及实现指南》 第二章
Posted on Aug 4, 2021
第二章:架构思维
理解架构和设计的不同,并且知道如何与团队成员协作以便让架构落地
需要有技术知识的宽度并维持一定的技术深度,以便能够看到其他人看不到的解决方案和可能性
理解,分析,回溯各种解决方案和技术的取舍
理解业务驱动因素的重要性,以及如何把它们翻译成架构考量
架构VS设计
传统的工作方式如下:
架构师的任务是分析业务需求以便提取和定义架构特性,选择适合问题领域的架构模式和风格,并创建组件。
从这些活动里创造出来的产物会分发给开发团队,开发团队的职责是创建每个组件的类图,创建UI界面并开发和测试源代码。
但是这种方式通常会有问题。架构师的决策收不到开发者的反馈,开发者的设计得不到架构师的反馈
正确的工作方式:
架构师和开发者必须在同一个虚拟团队,架构师直接给开发者提供指导
技术广度
三种知识
你知道的
你知道你不知道的
你不知道你不知道的
你知道的:必须维持
作为架构师广度比深度更重要
分析架构取舍
不能只知道架构优点而不知道架构缺点
平衡架构和编码工作
避免瓶颈陷阱:不要承担项目关键路径上的代码
可以做非关键路径上的项目
可以做POC以验证架构决策
可以做技术债务
做bug修复
开发自动化工具帮助团队处理日常重复的事务
开发架构适应度函数
做代码评审