报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

“循序渐进”,架构演化的敏捷应对之道

  • 2009-02-03
  • 本文字数:618 字

    阅读完需:约 2 分钟

Kent Beck 最近撰写了《由一而多》一文,说明如何应用“循序渐进(Succession)”过程进行软件设计。“循序渐进”这种技巧,可以用来帮助系统架构从“只满足现有需求”演化到最终需要的状况。文中例举的系统,现在每天只需处理一笔事务,而将来需要处理许多笔事务。

一般来说,极限编程社区喜欢根据实际需求使用“简单设计”和可演化的架构。其中的例子包括:

Kent 的例子中,客户不知道多笔事务应该以何种规则处理。虽然开发人员可以做出一些猜测,尝试使用某种类型的 API 和底层架构处理多事务情况,可这些猜测却不一定是最理想的。团队和客户就要为开发目前尚未需要的功能付出代价。而且,团队和客户在将来还会再次付出,要么就得忍受基于猜测的设计,要么就得重写代码、修正设计。Kent 指出:未来开发人员还可能基于 API 认为目前的代码已经具备处理多事务的能力,这也是一种风险。

Kent 现在倾向于创建一个能够满足最低限度要求的设计,然后使用一种他称之为“循序渐进(Succession)”的流程来使设计演化。他的文章中描述了一种名为“由一而多”的 Succession 类型的实现过程,其中可以安全地让代码从处理单个事务转为处理事务列表。

您会一开始就设计、实现支持多事务处理的系统吗?不管选择是或否,请说出您的原因。请留下您的评论并共享您的想法。

查看英文原文: Succession, an Agile Approach to Evolving Architecture

2009-02-03 07:491808
用户头像

发布了 479 篇内容, 共 165.7 次阅读, 收获喜欢 52 次。

关注

评论

发布
暂无评论
发现更多内容

一键Run带你体验扩散模型的魅力

华为云开发者联盟

人工智能 华为云 华为云ModelArts 华为云开发者联盟

探索AI的边界:如何精准地测试人工智能

测吧(北京)科技有限公司

测试

春天已至,见证80/90/00后女性开发者的云上生长力量

华为云开发者联盟

人工智能 华为云 科技 华为云开发者联盟 先锋开发者云上说

深度解析:小红书笔记详情API的背后逻辑

技术冰糖葫芦

API 接口

探索AI的边界:如何精准地测试人工智能

测试人

软件测试

【我和 TiDB 社区的故事】我与 TiDB 专栏的故事

TiDB 社区干货传送门

人物访谈

LLM 大模型框架 LangChain 可观测性最佳实践

心有千千结

观测云 LLM langchain

一文读懂私网解析 PrivateZone

火山引擎边缘云

DNS DNS服务器 DNS劫持 #DNS

管理技巧 | 提升团队效能:如何与下属进行有效沟通

测吧(北京)科技有限公司

测试

理解BS期权定价

数新网络官方账号

Python 期权 金融

Shell 检查程序进程是否存在,自动重启

最爱小胖子

国家科技传播中心讲坛!播出预告:吴甜——当机器学会思考

飞桨PaddlePaddle

人工智能 深度学习 百度 BAIDU 百度飞桨

深入浅出:JavaScript 中 every() 的运作原理

Apifox

JavaScript 程序员 前端 数组 前端开发

云服务和本地部署大对比,应该选择哪种方式?

Finovy Cloud

云计算 云服务器 云部署搭建

大咖公开课 | 探索AI的边界:如何精准地测试人工智能

霍格沃兹测试开发学社

印度股票交易系统搭建GangGuHK

GangguHK

基于 TiCDC 创建灾备和容灾切换

TiDB 社区干货传送门

管理与运维 新版本/特性解读 数据库架构设计 6.x 实践 7.x 实践

TiDB Binlog功能使用实践

TiDB 社区干货传送门

6.x 实践

软件测试团队管理技巧 | 提升团队效能:如何与下属进行有效沟通

测试人

软件测试

提升团队效能:如何与下属进行有效沟通

霍格沃兹测试开发学社

✅日活3kw的实际库存业务场景中的超卖到底怎么解决的

派大星

电商超卖 互联网+ 秒杀系统架构

TiKV 组件内 GC(物理空间回收)原理及常见问题

TiDB 社区干货传送门

监控 性能调优 集群管理 故障排查/诊断 TiKV 底层架构

3月9日(本周六)TiDB 社区活动在深圳!一起聊聊 TiDB 在零售、互联网+、Saas、游戏、出海企业的分布式数据库选型、升级降本之路、7.5 新版本的探索!线下参会有机会获得多款社区新周边哦~

TiDB 社区干货传送门

社区活动

7.1 版本 DRAutoSync 非计划内切换小记

TiDB 社区干货传送门

集群管理 数据库架构设计 7.x 实践

如何将应用一键部署至多个环境?丨Walrus教程

SEAL安全

MySQL 运维 应用部署 Walrus

“循序渐进”,架构演化的敏捷应对之道_研发效能_Chris Sims_InfoQ精选文章