validation 和 logic process method

今日遇到一个问题是要在一个原来的 create document flow上加validation,如果validation 失败将会停止 做业务处理 create document 。
create document 有两个方法:single create document , multiple create.

旧的逻辑是 使用java 调用  store procedure singleCreate. 而且这个 store procedure 还在被其他 store procedure multipleCreate调用。
那么 validation 应该加到store procedure singleCreate 还是 java 层次。

1.加在java 层面,
优点是
逻辑易于理解,软件易于维护

缺点是
1.数据库连接量会加大,性能降低。(虽然系统的性能还不是主要问题,但是保持一种性能危机感还是必须的)因为校验的过程同样需要使用sql 验证。


2.修改store procedure  singleCreate 和 multipleCreate
优点是
性能优越,容易修改

缺点是
不易于维护,使得validation 工作同时分散于 java 和 store procedure 两个层面


最后我还是向项目deadline 妥协了   把validation 加在了 store procedure 上面

validation 走在 logic process method 前面才是规范
我在方便的勾引下 走回了过程编程思想,罪过 

猜你喜欢

转载自shermenn.iteye.com/blog/1262829