软件架构的适应、进化与选择
1. 量子层面的架构设计
在量子层面,架构师能够专注于单个量子的主要特征,而无需分析相互竞争的优先级之间的权衡。这为架构设计提供了一种新的视角,让架构师可以更聚焦于核心特性。
2. 适应与进化的对比
- 适应 :许多组织陷入了技术债务逐渐增加的陷阱,并且不愿意进行必要的重构修改,导致系统和集成点变得越来越脆弱。公司试图使用服务总线等连接工具来解决这个问题,虽然能缓解一些技术难题,但无法解决业务流程更深层次的逻辑内聚问题。使用服务总线是对现有系统进行适应以用于其他场景的一个例子。然而,适应的一个副作用是增加了技术债务。当开发人员进行适应时,他们会保留原始行为,并在其旁边添加新行为。一个组件经历的适应周期越多,并行行为就越多,复杂性也会增加。不过,功能开关的使用是适应带来好处的一个很好的例子。开发人员在通过假设驱动的开发尝试多种替代方案时,经常使用开关来测试用户,以了解哪种方案最能引起共鸣。在这种情况下,开关带来的技术债务是有目的且可取的。当然,关于这些类型开关的最佳工程实践是在决策确定后尽快移除它们。
- 进化 :进化意味着根本性的改变。构建可进化的架构需要在原位改变架构,并通过适应度函数来防止出现故障。最终结果是一个能够以有用的方式持续进化的系统,而不会存在越来越多过时解决方案的遗留问题。
3. 公司不选择构建进化式架构的原因
- 无法进化的“大泥球”架构 :架构师常常忽视的一个关键“能力”是可行性,即团队是否应该承担这个项目。如果一个架构
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



