繁体   English   中英

应该在哪里进行业务验证

[英]Where should business validation to be done

假设架构是这样的

  1. Struts框架或球衣资源
  2. 外墙层
  3. 业务层
  4. 数据访问对象层DAO

尽管输入字段验证将在表示层即Struts Action类或jersey资源类中完成

但是我的问题是,应该在哪里进行业务级别验证,并将相同的结果传递给UI。

即假设资源是

employee / {employeeId}方法DELETE

现在,首先需要验证employeeId是否存在,因此对于验证应该在资源级别,外观级别或业务级别进行,并且最好将其作为最佳实践。

还请注意,此业务验证需要DAO层访问权限,因为要检查DB中EmployeeId是否确实存在。

提前致谢

针对您所要询问的方法有很多论据。 我更喜欢将验证留给业务层,而让上面的服务层或多或少地只处理路由和错误报告。 祝好运!

取决于您选择的体系结构和框架。

例如:如果您有一个数据库但有一个服务器场,则“验证”应该更靠近数据库。 如果可以在DAO中锁定/解锁数据库,则应在验证之前首先锁定员工行。

另外还取决于配置:

  • 如果使用乐观锁定或悲观锁定。
  • 如果实体上有@version字段。
  • 还有很多

我建议您在dao层编写与逻辑相关的数据库访问,该访问将结果返回到服务层,并返回到Action类。 并且您应该在您的动作课程中对其进行验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM