论坛首页 Java企业应用论坛

敏捷思考 遵循与破坏"开闭原则"

浏览 12973 次
精华帖 (1) :: 良好帖 (1) :: 新手帖 (18) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-05-06  
unsid 写道
whaosoft 写道
xly_971223 写道
敏捷本质上跟开闭原则就是冲突的


为什么啊


使用敏捷方法“极限编程”确实有一条原则是“简单设计”,这个原则是说在设计的时候应该保持最简单,不要为未来可能发生的变化预留各种变化的空间。这个听起来是对设计模式的一种否定,其实不是,敏捷不与软件设计相冲突,敏捷崇尚的是重构,即需要的时候才用,按照楼主的例子,运用XP,很可能是这样的一种情况:开始的时候确实是方案一设计,当用于提出XML需求的时候,重构原有代码成方案二;如果客户始终不提出,那么最终就以方案一告终。

敏捷是淡化设计,但是并不反对和抵制设计,又怎么会冲突,它只是强调“需要的时候才要”。


    我同意这位大侠的意见。我觉得楼主用方案一本身没有问题。问题是在项目的进展过程中有没有持续的或者当需求变更时进行重构的要求和意识。《重构》说:“事不过三,三则重构”,我个人的理解是:一个问题第一次出现,我们直接去做,出现变化,我们去改,如果再出现变化,那一定要重构了。模式的一项基本原则就是分离变化与不变的。有一些变化是需求能够提出的,有一些变化需求没指出来但是我们可以通过常识或者经验判断的,但是如果在有些时候无法判断是否变化,设计过多是没有意义的,连变不变都不确定,又如何去分离呢。灵活性、复杂性、易用性有时候是矛盾的。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics