读《Software Systems Architecture》(28)—— The Evolution Perspective
🤔☕️🤔☕️🤔
读《Software Systems Architecture》(28)—— The Evolution Perspective
📖:演化质点
🤔:演化,自然演化,在这里,只是词类似,本质完全不一样。自然演化里,有随机突变的前提条件,就是基因复制时可以有突变,有随机突变的充分条件,就是基因复制时真会有突变,有突变后的适应与筛选过程,就是留下来的都是已突变又适应的结果。架构的演化,会有来自其自身的突变嘛,大概率没有,顶多就是外部更多需求到来,更多场景适配时遇到的问题,要满足这些需求,要应对这些场景,架构就得适应性做出改变。所以,用演变这个词,更能反应架构的真实情况。
🤔:适应变化,有改动的变和新增的变。所谓改动的改变,指在系统之外的视角,系统体现出来没有变化,只是其内部的优化改进。此时要解决的问题在于,内部的任何修改,如何能够有效验证正确性,不只是改动点的正确性,更是改动之后整个系统的正确性,这在架构层面能否支撑,不对,这都不该叫能否,更该说是必须,即必须具备修改后正确性的验证的能力。此时对架构的要求就是,必须设计出验证时成本和效率受控的方案。在这个质点指引下,TDD 不是必选项,AutoST 是必选项,AutoUT 是可选项。能够应对改动的变,再去看新增的变,底气立马就有,这套系统无论如何都不会被新增给折腾死,顶多被新增搞得很乱,但依然稳定如磐石,随时想改就随时可以改,持续在可靠的监视之下。这么说来,架构修炼出自变的能力,也就是架构具备自我折腾的能力,才是演变能力的根基。
—— By 术子米德 @2022.06.09
版权声明: 本文为 InfoQ 作者【术子米德】的原创文章。
原文链接:【http://xie.infoq.cn/article/d1fcb9ab0eeb9379b7526b3a3】。文章转载请联系作者。
评论