我开发的一个模块:
java文件 TestService.java TestDao.java
jsp文件 a.jsp b.jsp
诸如这些文件,现在在别人的模块上要调用我的Service和Dao,也返回a.jsp,b.jsp
原则上,直接调用就行了,不用重写一样的代码。
现在这功能有特殊条件,这个流程要新加一些判断在Service,jsp显示的时候也要一些判断。比如这个流程要显示新加的属性用户详细信息userDetail,在jsp中<c:if test="${empty userDetail}">判断是否显示userDetail
现在有2种解决办法:
1、复用java和jsp文件,但是要在这些common文件上加判断
2、cope这些java和jsp文件,加入这些判断,改动不是很大
缺点:
1、复用可以节省代码,如果要调界面只需改这个java或jsp,但是如果有很多这些特殊条件,在service、dao和jsp中就需要加大量的if... if... if...
2、增加了改动不大的java和jsp文件,不能复用
请问有经验的,用哪种方法,有没有好的解决方案?希望有经验的人谈下看法,先谢谢了。
我倾向第一种,可是新功能很多的话要加很多if...判断,比较纠结。
这个必须分开。要不然以后系统需要升级维护了或者出bug了再回来看代码的时候,那时候就是牵一发而动全身了。这样的做法是不推荐的。理论上来说如果最完美的情况,当然是把会被多个地方调用的部分单独出来;然后考虑到所有可能调用的情况;做出通用方法;dao那么应该只是获取数据模型的,而service里面才是具体逻辑。所以不同的业务应该有不同的service,及时他们处理的后台数据都是一个数据模型。