再记录:
因为使用泛型对公共代码大量抽取,用到了继承关系,则需将原来的在业务层的部分数据放到controller层校验
使他符合mvc的请求过程,即是一个完整处理的先后顺序问题
,对业务处理的时就必须先检验数据,再在进入业务层时再操作数据,以免重复操作,且肯定不会正确的请求造成的资源浪费
简单说:在service层需要用到已经被抽取的部分公共代码,且其中包含校验数据的一部分,但是它们由于继承的关系导致操作数据顺序与校验数据顺序反过来了,
则必须将service·中的公共代码完全放到controller层,恢复顺序,且能在service正常使用正确的数据
记一笔,控制层的代码,他不光控制还要校验数据!
我以前写的代码都是在服务层进行校验,
有些违背mvc设计思想;
例如将控制层的代码写到业务层,错误的将它当做业务处理,
还会因为框架的原因,代码耦合度不能最优,
当然,在实际写程序的过程中,并不一定能完全实现完全解耦。
即
:
` T t = (T) object;
// 获取客户端参数
HttpServletRequest request = ServletActionContext.getRequest();
String id = request.getParameter("id");
Integer idInteger = -1;
try {
idInteger = Integer.valueOf(id);
} catch (NumberFormatException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
return TS.ERROR;
}
// 删除
if (baseDaoImpl.deleteD(t, idInteger) == 1) {
// 成功
return TS.SUCCESS;
}
return TS.ERROR;`
应该吧整数校验放到action层!
不说了,去改代码了