QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

  • 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:491799
用户头像

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

关注

评论

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

一天梳理完react面试题

beifeng1996

React

图学习初探Paddle Graph Learning 构建属于自己的图【系列三】

汀丶人工智能

图神经网络 11月月更 随机游走算法 异质图

Git学习笔记

lxmoe

git 学习笔记 常用命令 11月月更

一份vue面试考点清单

bb_xiaxia1998

Vue

Python进阶(三十四)Python3多线程解读

No Silver Bullet

多线程 Python3 11月月更

CSS知识框架(一)

默默的成长

CSS 前端 11月月更

【C语言】float 关键字

謓泽

11月月更

Map接口概述和基本使用

共饮一杯无

Java map 11月月更

React-Hooks源码深度解读

goClient1992

React

说说你对Vue的keep-alive的理解

bb_xiaxia1998

Vue

Vue内置组件之Transition(一)

Augus

vue.js 11月月更

经常会采坑的javascript原型应试题

loveX001

JavaScript

看透react源码之感受react的进化

goClient1992

React

Spring 5(三)AOP

浅辄

Java Spring5 11月月更

20道前端高频面试题(附答案)

loveX001

JavaScript

Map接口的子类HashMap和LinkedHashMap

共饮一杯无

Java 11月月更 Map集合

说说Vue响应式系统中的Watcher和Dep的关系-面试进阶

bb_xiaxia1998

Vue

HTML知识框架 二

默默的成长

html 前端 11月月更

Flowable 定时器的各种玩法

江南一点雨

Java spring springboot flowable JavaEE

Python进阶(三十六)Web框架Django项目搭建全过程

No Silver Bullet

Python django 11月月更

Python进阶(三十五)Fiddler命令行和HTTP断点调试

No Silver Bullet

Python fiddler 11月月更

问:你是如何进行react状态管理方案选择的?

beifeng1996

React

问:React的useState和setState到底是同步还是异步呢?

beifeng1996

React

高频react面试题自检

beifeng1996

React

React源码分析(一)Fiber

goClient1992

React

Spring 5(四)JdbcTemplate

浅辄

Java Spring5 11月月更

Ubuntu部署和体验Nexus3

程序员欣宸

Docker 11月月更 nexus3

谈谈前端性能优化-面试版

loveX001

JavaScript

中高级前端开发需要掌握的vue知识点

bb_xiaxia1998

Vue

前端高频面试题合集(中高级必备)

loveX001

JavaScript

【设计模式】原型模式:猴头,我叫你一声你敢答应吗?

游坦之

11月月更

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