阅读笔记6

从架构师决定软件架构的角度来看,可以分为主观判断、客观选择两部分。主观判断包括了架构师(以及团队)对问题域理解,以及由此产生的软件设计要素,诸如架构分层、模块划分、API设计、数据模型设计,也就是通常所说的应用架构、信息架构和开放架构;甚至架构方法的选择,如是否采用DDD来建模,交流、描述整个软件的架构设计;主观设计是架构师(团队)根据个人经验以及对问题域的理解做出的一系列架构的决策。这部分架构设计对软件产生深远的决定性的影响,也是架构师(团队)的核心能力、价值体现。它产生的过程依赖人,是主观的,但是结果却是客观的,影响是决定性的。包括依据Conway定律,决定了研发团队的组织结构。依据开放能力水平,决定了软件产品的可持续发展演进能力和对变化的适应能力(如Linux已经演进了近30年还在持续)。主观判断关注点是设计,核心任务是根据实际需求构思出抽象的概念结构(人月神话语),特征是想象出最佳解决方案;从需求到设计的约束来自于需求,弹性较大,可把握的难易程度较大,来自于软件本身的使用价值。这一部分把软件视作解决问题的目的载体,考验的是架构师对问题领域的分析能力以及抽象思维逻辑能力。




posted @ 2019-06-11 16:25  KNOWNOTING  阅读(81)  评论(0编辑  收藏  举报