当前位置: 代码迷 >> 软件设计 >> 由判定树想到的软件设计情理(2008-09-03 13:38)
  详细解决方案

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

热度:4809   发布时间:2013-02-26 00:00:00.0
由判定树想到的软件设计道理(2008-09-03 13:38)
在Kicknote项目中多次用到了判定树来分析复杂的逻缉判断,但在把判定树转化为代码时,我发现代码并不需要和判定树的判断过程保持一致,具体说就是当判定树的叶子结点的处理方法相同时,则可以在代码中归并到一个地方处理,而在判定树中是分别考虑的。

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

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

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


  相关解决方案