本博客不再更新

          本博客不再更新,請訪問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 本博客不再更新 閱讀(688) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 安远县| 乃东县| 临朐县| 甘南县| 平潭县| 河南省| 陵川县| 呈贡县| 淮滨县| 枣强县| 兴文县| 彰化市| 东宁县| 三门峡市| 宾川县| 潼关县| 漾濞| 敖汉旗| 大庆市| 虎林市| 阿拉善右旗| 张家界市| 泌阳县| 延寿县| 大宁县| 房产| 克山县| 武定县| 忻城县| 舞钢市| 拜城县| 秭归县| 固阳县| 河池市| 巴林左旗| 民县| 麟游县| 调兵山市| 郓城县| 保康县| 汝城县|