架构降级-架构漂移,架构侵蚀
架构降级是系统规范性架构和描述性架构差异的一个结局,它有两个想关的现象:架构漂移(drift)和架构侵蚀(erosion)。
架构漂移指的是引入描述性架构中的主要设计决策没有被规范性架构所包含或者是没有违反规范性架构的情况下暗含了这些设计决策,所以漂移不是违背规范性架构而是牵涉到了一些没有被合适理解的设计决策。漂移也会导致违背架构风格规则,他反应了系统的工程师对系统的不敏感或者对系统理解的缺失。如果架构漂移不能被很好地处理,漂移的结果可能就会导致系统侵蚀,与漂移相反,架构侵蚀指的是在描述性架构中引入的架构设计决策违背了规范性架构,可以认为是直接修改系统工件导致的结果,引入一个新的设计决策到D中将会与一个或者多个P中的决策相违背并使之失效。所以侵蚀可能会使系统难以理解或者难以适配,通常会引发系统的故障。如果系统漂移太多会导致架构侵蚀的发生,此时如果系统被很多小的中间修改过程搞混了就很容易违背重要的架构决策。
另外值得注意的就是即使没有架构漂移也可能会有架构侵蚀,但是这种情况很少发生,因为在没有漂移的情况下,侵蚀发生时规范性架构和描述性架构是一致的,并且这种情况下一般来说牵涉的设计决策很少,所以即使发生也很好恢复。
综上可知,无论是架构漂移还是架构侵蚀他们都会导致高昂的代价,所以一个良好的系统,应该有好的团队和明确的的团队纪律,尤其开发人员在遇到系统更改是一定要告知架构师,保持开发人员和架构师之间良好的沟通,避免在架构师不知情的情况下开发人员的私自更改一些系统的设计决策违背规范性架构,要努力保证系统描述性架构和规范性架构的同步。

浙公网安备 33010602011771号