软件架构、模块化与设计全解析
1. 软件架构图的重要性与陷阱
1.1 架构图的意义
拥有一个不完美的架构图总比没有架构图要好。但架构图必须要有实际意义,而不是一堆无意义的方框和箭头的组合。在创建架构图时,常见的问题是创建含义模糊的方框或箭头。比如,当有两个功能相似的方框时,用箭头连接它们,但这个箭头的含义却不明确,它可能表示“相似”,但这对创建系统的帮助并不清晰,它或许应该表示“是子类”或其他明确定义的含义。
1.2 审查架构图的方法
在审查架构图时,可以随机挑选几个箭头,询问“这个箭头是什么意思”,以此来判断架构图的定义是否清晰、是否一致。对于方框也可以采用同样的方法,询问“这个方框执行什么功能”以及“随机选择的两个方框是否属于同一类型的组件”。在刚开始绘制架构图时,给每个箭头标注其含义,例如“是子类”“调用”或“由……组成”,看看自己的标注是否一致。
1.3 提升架构能力的途径
创建架构并非易事,没有捷径可走。要想在这方面有所建树,需要进行大量的阅读,从相关的参考资料开始;寻求有经验的架构师的指导;并且不断地进行实践。
1.4 相关搜索关键词与推荐阅读
- 搜索关键词 :软件架构、设计模式、系统架构设计。
- 推荐阅读 :
- Garlan, D. & M. Shaw, 《An Introduction to Software Architecture》,Carnegie Mellon University TR, CMU