这是一位同学的回帖,感觉可以单独拿出来说说,原文:
我们现在在做一个项目,我负责整改以前开发过的代码,可业务方法里的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
例子可见《深入浅出设计模式》 |