本博客不再更新

          本博客不再更新,請訪問http://blog.sina.com.cn/fulaoshi

          統計

          最新評論

          [導入]如何消除if else

             
          這是一位同學的回帖,感覺可以單獨拿出來說說,原文:





          我們現在在做一個項目,我負責整改以前開發過的代碼,可業務方法里的IF()ELSE{}語句特別長,看的都頭痛,請問您有什么好辦法能避免少些判斷語句嗎?



              消除if
          else的方法有很多,要區分不同的情況。根本上解決這個問題的途徑是參閱Martin
          Fowler的大作《重構》



             給出兩個常見的方法:

            
          1,用鍵值對格式的配置文件代替if

             舉例:獲取數據庫驅動類名

             final int CURRENT_DB =
          0;

             String driver = "";

             if (CURRENT_DB==0)
          driver="com.mysql.jdbc.Driver";

             if (CURRENT_DB==1)
          driver="com.microsoft...";

             if (CURRENT_DB==2)
          driver="sun.jdbc.odbc...";

           

            
          可以采用配置文件簡化,假設有如下的配置文件

             DRIVER =
          com.mysql.jdbc.Driver

             URL =
          jdbc:mysql://localhost:3306

             Then you
          can use java.util.Properties load the configuration
          file, read the value simply be method
          get(key).



             2,Use Design Pattern :
          Strategy(策略模式), Factory
          and State may the problem

            
          例子可見《深入淺出設計模式》


          文章來源: http://underwind.javaeye.com/blog/63129

          posted on 2007-03-20 12:55 本博客不再更新 閱讀(692) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 高雄市| 合江县| 横峰县| 尚义县| 太原市| 台东市| 通许县| 邛崃市| 昌吉市| 锡林浩特市| 泾阳县| 巧家县| 玉树县| 哈巴河县| 宁津县| 吴川市| 东安县| 天台县| 怀远县| 焉耆| 安图县| 壶关县| 屯门区| 连州市| 舞钢市| 焉耆| 兴安盟| 定边县| 清丰县| 滦平县| 邵阳县| 乌拉特中旗| 奉新县| 华池县| 闸北区| 佛冈县| 道孚县| 衡水市| 东台市| 新泰市| 沂源县|