本博客不再更新

          本博客不再更新,請訪問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)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 奉节县| 波密县| 缙云县| 酉阳| 平果县| 濮阳县| 奇台县| 梁平县| 永昌县| 肥西县| 定远县| 电白县| 山丹县| 琼结县| 甘德县| 嘉善县| 枣强县| 棋牌| 类乌齐县| 深水埗区| 旬邑县| 铅山县| 岳西县| 娱乐| 合川市| 兴山县| 泽州县| 长沙市| 汤原县| 娄底市| 三都| 塔河县| 白朗县| 太仆寺旗| 乐业县| 克拉玛依市| 太湖县| 易门县| 凤山市| 鄯善县| 隆林|