有一种令人遗憾的退化(通常被称为比特衰减)在很多组织里都有苗头。架构师选择特定的架构模式以满足业务需求并使其具备某些架构特征,但这些特征很容易随时间的推移在不经意间退化。例如,假设架构师设计了一个分层架构,其中顶层是展现层、底层是持久层,还有一些中间层,而开发报表功能的开发人员出于性能上的考虑常常会问能不能跳过中间层,直接从展现层访问持久层。架构师用分层机制来隔离变化。如果开发人员跳过这些层,不仅会增加耦合,还使得分层变得毫无意义。
一旦他们定义了重要的架构特征,架构师应该如何保护这些特征不被腐化呢?答案在于增加可演进性,它可以保护其他特征在系统演进时不被破坏。例如,架构师追求架构设计的高伸缩性,但不希望在系统演进时削弱该特征。因此,可演进性是一种元特征,是保护其他所有架构特征的架构防护网。
演进式架构的机制与架构治理(定义了设计、质量、安全和其他质量关注点的基本原则)的关注点及目标有很大程度上的重叠。本书阐述了演进式架构方法以及架构治理自动化的多种方式。