之前总觉得架构是一件很高大上的工作,跟普通的编码设计不太一样。前一段实践,自己也尝试做过架构的工作,可惜经验不足导致架构非常混乱。这里读完这本书,大体上对架构的工作有所了解,也稍微摸清了些门道。
我理解的架构
我理解的架构就是基于某些需求,设计代码的基础框架。既然是基于需求,那么肯定要面临不少需求的扩展以及变更,这时就需要架构能够灵活方便的适应变化。因此,架构的工作我的理解更多的是提前预料到未来的变化,提前做好改变的准备。
架构设计的大体思路为:
- 时刻关注非功能性的需求,
- 然后先进性预备架构的设计(建立需求列表,理顺需求的关系),
- 再进行概念架构的设计(利用鲁棒图或者目标-场景-角色表,设计逻辑上的架构,忽略代码级的实现),
- 最后对架构进行细化(深入到IDE语言的使用,开源框架的使用,类、接口的定义等等)