阅读笔记
刚开始学架构风格时,我觉得这有点像“背概念”——记住每种风格的特点、优缺点、适用场景,考试能答上就行。但随着课程的推进,我发现这其实是设计的工具箱。就像建筑师要知道哥特式、巴洛克式、现代主义分别适合什么建筑一样,软件架构师也必须对各种风格了然于胸,才能在面对具体问题时快速找到合适的方案。
几种关键风格的再理解
分层架构是最“亲民”的风格,每一层只依赖下一层,职责清晰。但它的隐患在于,如果层次之间耦合过紧,修改底层就会导致上层连锁变动。我们课程作业中用的就是分层架构,实际写代码时确实遇到了“改一个DAO方法要改三层”的情况——理论与实践的差距就在这里。
事件驱动架构给我印象最深的是它的松耦合特性。组件之间不直接调用,而是通过事件进行通信,生产者和消费者完全解耦。但同时这也带来了调试困难、事务一致性难保证等新问题。
管道-过滤器风格看起来简单,每个过滤器独立处理数据,但实际实现时,数据格式的标准化、过滤器的并发执行等都不是小事。
仓库架构中,所有数据存储在中央仓库中,各组件独立访问。这种风格在编译器、数据库系统中非常常见,但中央仓库一旦成为瓶颈,整个系统都会受影响。
收获与反思
学完这些风格后最大的体会是:没有“最好”的风格,只有“最合适”的风格。 一个好的架构师不是能画出最复杂的图,而是能在面对具体问题时,快速判断哪种风格能最大程度地满足质量属性要求,同时控制成本和风险。

浙公网安备 33010602011771号