代码优化的问题 架构 j2ee架构j2ee 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的意思是这样的 A模块中 有个select a,b,c from ........B模块中 有个select a,b from.....其他的都相同,那么这两个sql 我只能在自己的模块中进行定义 ,沉不到公共模块c中现在就因为查询的字段不同 而重复其他的部分。我在想是否是就这样了还是有什么其他的办法 在不影响可读性的前提下 进行内聚 "select "+sql+" from ........" sql里面包含参数就行了吧 对于代码优化,可能大家想到的多数是代码复用,看到有相似的内容就想整合。其实,这是一个误区,真正的代码优化是要考虑代码的意义,本着原子性的原则去优化,做到一个方法只完成一件事。当新增一个类的时候,就要规划好这个类的作用,面向对象来讲,就是说这个类代表了一个什么对象,需要有什么功能。新增一个方法就要考虑它完成的是一个什么任务。举个列子来讲:void getResult(){ System.out.println(getOne()*getTwo());}对于这个方法,虽然它只有一行代码,但是它仍然需要优化,因为它在一个方法中做了两件事。一打印,二计算结果而对于你提出的问题,需要考虑的是,你A中的方法和B中的方法完成的是相同的任务吗?如果是,可以提取到超类中。另外还要考虑日后的可变性,如果可能存在A的逻辑需要修改,而B不变,则建议不要合并。希望我说的能对你有帮助... 你这都是查询同一个表是吧你可以在拼sql那里封装一下做到同一个方法,要查什么参数 就传什么参数过去然后再拼sql语句这样你AB2个方法都掉C的同一个方法 根据参数的不同返回不同结果 如果只是字段不同,完全可以在通用的service层和dao层定义为一个抽象内的同一个方法(),字段参数通过 数组 传递,在方法内部遍历数组参数化 赋值 你的意思我明白,现在是mybatis来进行sql配置的,sql文件都是在xml中,如果同一个方法根据参数不同,然后通过mybatis标签进行拼接的话 会使可读性很差啊 你把所有字段都查出来不就行了。例如:表A中有10个字段,你把10个字段都查出来。在方法A中用了3个字段,方法B中用了5个字段,方法C中用了7个字段,你就不用再写3个dao了,而一个查询了10个字段的dao不就够用了? 你的意思我明白,现在是mybatis来进行sql配置的,sql文件都是在xml中,如果同一个方法根据参数不同,然后通过mybatis标签进行拼接的话 会使可读性很差啊那没办法 用别人的东西就会丢失一些灵活性 用java的IO流,能写入后缀名为xml的文件里面吗?这个xml可以正常使用吗? 参数怎么获取? 睡不着,考虑一个问题 JavaMail 收发邮件 中文乱码问题 spring定时任务配置问题,求教 网页中传递值的问题 软件研发(java):主要工作是什么? 基于Spring封装的Hibernate如何得到Configuration对象 订单类如何定义才好?该订单上面是客户等内容,下面是细目。 SSH框架插入数据库显示成功,但数据库中没有 求一个简单的quartz的cron表达式
A模块中 有个select a,b,c from ........
B模块中 有个select a,b from.....
其他的都相同,那么这两个sql 我只能在自己的模块中进行定义 ,沉不到公共模块c中
现在就因为查询的字段不同 而重复其他的部分。
我在想是否是就这样了还是有什么其他的办法 在不影响可读性的前提下 进行内聚
举个列子来讲:
void getResult(){
System.out.println(getOne()*getTwo());
}
对于这个方法,虽然它只有一行代码,但是它仍然需要优化,因为它在一个方法中做了两件事。一打印,二计算结果
而对于你提出的问题,需要考虑的是,你A中的方法和B中的方法完成的是相同的任务吗?如果是,可以提取到超类中。另外还要考虑日后的可变性,如果可能存在A的逻辑需要修改,而B不变,则建议不要合并。
希望我说的能对你有帮助...
你这都是查询同一个表是吧
你可以在拼sql那里封装一下
做到同一个方法,要查什么参数 就传什么参数过去
然后再拼sql语句
这样你AB2个方法都掉C的同一个方法 根据参数的不同
返回不同结果
你的意思我明白,现在是mybatis来进行sql配置的,sql文件都是在xml中,如果同一个方法根据参数不同,然后通过mybatis标签进行拼接的话 会使可读性很差啊
你把所有字段都查出来不就行了。
例如:表A中有10个字段,你把10个字段都查出来。
在方法A中用了3个字段,方法B中用了5个字段,方法C中用了7个字段,你就不用再写3个dao了,而一个查询了10个字段的dao不就够用了?
你的意思我明白,现在是mybatis来进行sql配置的,sql文件都是在xml中,如果同一个方法根据参数不同,然后通过mybatis标签进行拼接的话 会使可读性很差啊
那没办法 用别人的东西就会丢失一些灵活性