前端技术

演进式架构 1 概述

2023-01-02  本文已影响0人  吴摩西

演进式架构

一切都在变化,如何才能长期规划。软件开发体系由所有的工具、框架、库以及最佳实践构成。然而这种平衡是动态的,随着新事物不断出现,平衡不断的被打破和重整。架构师不断的平衡以适应环境变化,持续交付这项工作实践是的这个平衡有了结构性的转变。
有一种简易的方案,称为“将来难以变更的部分”。实际上是一种自我暗示与自我验证的预言。不太可取。

架构比特衰减

架构师构建软件时,有一些分层、约束。在后续开发时,这种约定和限制可能会被后续的开发者破坏。这种情况被称为架构比特衰减。是一种架构的衰退行为。为了保证定义了架构中重要的特性。需要添加演进能力。演进式架构定义如下:
演进式架构支持跨多个维度的引导性增量变更。

增量变更

增量变更描述了软件架构的两个方面:如何增量地构建软件和如何增量部署软件。

如有需要,原服务和新服务可以并存,团队可以在适当(不太忙或者必要)时完成迁移。所有迁移都完成时,旧版本的服务将会被当成垃圾回收。

引导性变更

适应度函数,该函数时一个目标函数,用于计算潜在的解决方案与既定目标的差距。在演化计算中,适应度函数决定一个算法是否在持续提升。

适应度函数的隐喻涵盖多种机制,包括变量,测试和其他检验工具。我们采用这些机制来确保架构不会以不良方式变更。

演进式架构并不是毫无约束或者不负责任的软件开发方式。相反,它可以在高速变迁的业务,严谨的系统需求和架构特间保持平衡,适应度函数驱动架构设计决策,并引导架构变更更适应业务和技术环境的变化。

多个架构维度

不存在单独的系统,世界是一个整体。如何划分系统边界取决于讨论的主题。
常见的架构维度有

项目的整个架构范围由软件需求和其他维度构成。当架构和整个体系随着时间的推移一起演进时,我们可以使用适应度函数来保护架构特征。

上一篇下一篇

猜你喜欢

热点阅读