本博客不再更新

本博客不再更新,请访问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 本博客不再更新 阅读(685) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: