`
gdpglc
  • 浏览: 88349 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

由判定树想到的软件设计道理(2008-09-03 13:38)

阅读更多
在Kicknote项目中多次用到了判定树来分析复杂的逻缉判断,但在把判定树转化为代码时,我发现代码并不需要和判定树的判断过程保持一致,具体说就是当判定树的叶子结点的处理方法相同时,则可以在代码中归并到一个地方处理,而在判定树中是分别考虑的。

这使我想到,在问题的不同层次,问题的表现形式是可以不同的。在画出判定树的时候并不会考虑实现,目的就是把所有的情况搞情楚,而在实现时判定逻辑已经清楚了,就可以以最简的形式加以实现。

由此我想到,需求和设计的关系、设计和实现的关系也是类似的。它们之间都是一种转换关系。即然是转换关系,转换本身就是一种学问,不同的转换方法导致了不同的实现。转换的结果可以和原来的内容很象,也可以不象,只要最终的逻辑是等效的。

因此为了得到好的转换结果,不可拘泥于现有的束缚(比如:框架中没有明确的支持)要勇于创新,在软件的创造性设计中可以用一句话概括:“水无常形,兵无定法”。


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics