阅读笔记
课程进行到最后阶段,最大的变化是——不再只是听课和看书,而是要把学到的知识用在一个真实的项目上。我们小组的课程设计题目是开发一个具备一定复杂度的Web应用,要求在设计阶段明确架构选型和质量属性战术。
设计过程中的体会
- 架构选型不是“选最流行的”
我们选用了分层架构(表示层-业务层-数据访问层)。理由不是“大家都这么用”,而是考虑到团队规模(4人)、时间周期(10周)、业务复杂度(中等)等因素后,分层架构能让我们用最小的沟通成本完成协作。如果选微服务,以我们现在的经验和人力,大概率会陷入分布式事务和运维的泥潭。
- 战术真的能落地
在“可用性”方面,我们设计了心跳检测和自动重连机制;在“可修改性”方面,我们用接口隔离了业务逻辑与具体实现,方便后期替换;在“性能”方面,对热点数据引入了Redis缓存。这些设计决策都直接来源于课程所学的战术知识。
- 文档和代码同样重要
课程强调架构文档的规范性。我们按要求产出了体系结构设计说明书,包含4+1视图的完整描述。这个过程虽然耗时,但强制我们把自己的设计想清楚、说清楚。
遇到的困难
理想与现实:理论上学到的很多战术,受限于时间和能力,只能有选择地实现
权衡的难度:追求可修改性会增加代码复杂度,追求性能会牺牲可读性,每次选择都很纠结
团队协作:设计时大家想法不一致,需要通过讨论达成共识——这本身就是在“做架构决策”
课程整体收获
从最初对“体系结构”的模糊认知,到现在能独立分析一个系统的架构、能做出有依据的设计决策、能用规范的视图和文档表达设计,这门课的收获远超预期。更重要的是,它让我意识到:写代码解决“怎么做”,架构设计解决“做什么”和“为什么这么做” 。两者结合,才是一个完整的工程师素养。

浙公网安备 33010602011771号