概述
背景啥的就不讲了哈。有这方面需求或者感兴趣的阔以看看。
假定有这样的一种情况,需要根据用户传入的参数,选择不同的数据库来进行相应的操作。
普通的if-else来实现的话,就类似如下代码:
public static void main(String[] args) {
String type="hbase";
if (type.equals(DbTypeEnum.MYSQL_DRIVER.type())){
MySQL mySQL=new MySQL();
mySQL.getConnect();
mySQL.excute();
mySQL.disconnect();
}else if (type.equals(DbTypeEnum.HBASE_DRIVER.type())){
Hbase hbase=new Hbase();
hbase.getConnect();
hbase.excute();
hbase.disconnect();
}else if (type.equals(DbTypeEnum.MONGO_DRIVER.type())){
Mongo mongo=new Mongo();
mongo.getConnect();
mongo.excute();
mongo.disconnect();
}else if (type.equals(DbTypeEnum.ORCAL_DRIVER.type())){
Orcal orcal=new Orcal();
orcal.getConnect();
orcal.excute();
orcal.disconnect();
}else if (type.equals(DbTypeEnum.SQLSERVER_DRIVER.type())){
SqlServer sqlServer=new SqlServer();
sqlServer.getConnect();
sqlServer.excute();
sqlServer.disconnect();
}else{
System.out.println("did not have this database");
}//逻辑异常 可以提前
}
这里的DbTypeEnum是一个枚举类,没啥多讲的,有兴趣的自行baidu。
public enum DbTypeEnum {
MYSQL_DRIVER("mysql"),
ORCAL_
最后
以上就是秀丽诺言为你收集整理的利用策略模式+单例模式+反射 替换if-else的全部内容,希望文章能够帮你解决利用策略模式+单例模式+反射 替换if-else所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复