读《Software Systems Architecture》(05)—— The Role of the Software Architect
🤔☕️🤔☕️🤔
读《Software Systems Architecture》(05)—— The Role of the Software Architect
😖:架构师,是一个角色,就像设计师,也是一个角色。架构师和设计师,是相同角色,还是不同角色,或则是有交集的角色?架构师回答 Why 层面问题,设计师回答 How 层面问题。当面临的问题,先要回答 Why,再去 How,那么架构师先出场。当面临的问题,只需要回答 How,那么只需要设计师上场。一边 How,一边问 Why,那就是设计师和架构师在吵架嘛?架构师除了回答当下的 Why,还要兼顾未来的 Why,设计师只要解决当下的 How 即可,如此嘛?
📖:架构定义(architecture definition)是架构设计(architecture design)的过程产物。利益相关方的关注点,已经被清晰无误描述,设计满足预期,只是还没干出来。
🤔:看到“定义”,有种“想出来”的感觉,即凭空想象,然后定义一下。实际上,这里的定义,更多是一种严谨的需要,即大家对于有不同理解的说法,进行用语上的一致,同时确定其内涵和范围。就像书同文的效果能够实现一个国家级文明的凝聚力,架构里的很多定义,都具有书同文的效果。大家都能用相同的词汇,来沟通互相理解的事物,那就降低达成共识所需的难度。
📖:问题域,需求分析上场,方案域,软件设计上场,问题和方案之间的折中域,架构定义上场。
🤔:架构经常跟折中放在一起讲,英文所谓 trade-off,直译为折中,有种“和事佬”的感觉。实际上,我更喜欢用“动态平衡”这个词,就是在考虑各方的实际情况后,采取一种当下适合大家,或者未来适合大家的方案,并且给出选择的理由,如何应对风险和变化。这个词的实际含义,远不是字面意思能够表达,需要全面而综合的能力,在人、事、物、理方面,一个都不能少,还每个都得强。
—— By 术子米德 @2022.05.08
版权声明: 本文为 InfoQ 作者【术子米德】的原创文章。
原文链接:【http://xie.infoq.cn/article/31bad8892170b3eacb30b0ead】。文章转载请联系作者。
评论