程序备忘录:之六-判定树的用法(2004/08/23 20:06)

类别:软件工程 点击:0 评论:0 推荐:


  软件理论很多很杂,而且有很多是借鉴了其它专业的理论。从软件工程的瀑布模型中知道,编码要依据详细设计来完成。判定树是系统分析和设计期的工具,但编码人员不一定每次都能从详细设计书中找到明确的判定树资料。
  假定有下面的编码需求:有两个状态变量,每个变量有4种状态值,对两个状态的不同组合共有4种处理方式。可以进行下面的编码(Java例)。
    //---------------------------------------------------------
    public void main_deal(String st1,String st2) {
     //取处理方式判断值
     String strJudge = getJudge(st1,st2);
     //依据判断值分别处理
     if ("ret1".equals(strJudge)) {
      sub_deal1();
     } else if ("ret2".equals(strJudge)) {
      sub_deal2();
     } else if ("ret3".equals(strJudge)) {
      sub_deal3();
     } else if ("ret4".equals(strJudge)) {
      sub_deal4();
     } else {
      final_deal();
     }
    }

    private String getJudge(String st1,String st2) {
     String ret = null;
     //取处理方式判断值
     return ret;
    }

    private void sub_deal1() {
     //子处理1
    }

    private void sub_deal2() {
     //子处理2
    }

    private void sub_deal3() {
     //子处理3
    }

    private void sub_deal4() {
     //子处理4
    }

    private void final_deal() {
     //条件判断值之外的处理
    }
    //---------------------------------------------------------
  如果程序的多个分支需要完成相同的工作时,不妨使用判定树思路将杂乱的功能理清,再编写出清晰易懂的代码。上面的例子比较直观,实际的应用可能存在许多不易理清的线索,需要透过现象看清本质。

本文地址:http://com.8s8s.com/it/it36426.htm