InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

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

作者 Chris Sims 译者 郑柯 发布于 2009年2月3日

领域
过程 & 实践
主题
敏捷技术 ,
敏捷 ,
Simple Design ,
演化架构

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

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

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

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

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

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

译者 郑柯 InfoQ中文站总编。做过开发,当过PM,干过销售,搞过市场,最终还是回到媒体。实用的理想主义者,相信:每天改变一点点,这个世界会更好。

我的习惯 发表人 Song Sam 发表于
  1. 返回顶部

    我的习惯

    发表人 Song Sam

    一般还是会提前设计一些。主要是现在采用的流程是偏瀑布的,设计是非常强调的一个阶段!所以真正采用敏捷思维才能很好的应用渐进设计。