《软件架构设计》学习笔记–1–阅读感悟
心得感受
接上篇。这几日将全书通读了一遍,最大的感受有两个:
- 第一是,思维方式的变革。
- 第二是,分类方法的运用。
思维方式的变革,具体点说,就是考虑问题的视角的不同。视角不同,你看到的东西或许就是不一样的。这有点像“盲人摸象”的意思。盲人摸象作为一个反面教材,被用来告诫人们看待问题要全面。可是,反过来想一下,如果没有局部的体验和观察、没有对于各个局部的认识和思考,那又从何处来获得所谓的“全面认知”呢?就本书而言,“视角”体现在这些方面,比如2.1节软件架构概念的派系,比如3.1节软件架构为谁而设计,比如5.3节二维需求观,比如10.3节的5视图架构设计。这些都是视角的体现。我们都在谈架构,都对又都不全对。不同人眼中的架构是不同的,因为他们关心的不同。
思维方式的变革,其实还有另外一个不同,就是尺度的不同。尺度即范围。在不同的尺度上谈论问题或事务,你的
关注点就不同。盲人摸象不仅是视角不同,而且尺度也不同。尺度有时间尺度和空间尺度。本书主要涉及到的是时间尺度。具体而言,就是作者将软件架构设计过程,抽象提炼划分为6大步骤,有因果逻辑上的前后顺序。
视角不同是一种思维方式的差异,而分类的方法,则是这种思维方式的具体方法论。因为分类最重要的依据是共性和个性,而视角不同恰恰提供了寻找共性和个性的起点。书中对分类的方法最主要的应用成果,个人觉得有两点,一是针对需求提出了二维需求观,二是针对细化架构设计强调了对多视图方法的运用。