gpt4 book ai didi

java - 在业务层返回业务验证结果的首选方法是什么

转载 作者:太空宇宙 更新时间:2023-11-04 08:41:10 25 4
gpt4 key购买 nike

假设我们有一个客户端应用程序(Web 或独立),它使用某种业务层(EJB、Spring 服务等)。假设用户想要执行一些业务逻辑(例如创建一些东西)。这个操作有一些前提条件,比如数据格式、数据库中是否存在其他对象、权限等。现在这个业务逻辑层的最佳设计是什么,我的意思是如何返回验证错误、指示成功、返回意外错误等?

我知道的方式:

1)

对于验证错误返回例如具有状态和违规列表的OperationResult对象,

成功:OperationResult 状态=成功且错误列表为空,

对于意外错误抛出运行时异常

2)

对于验证错误,抛出 ValidationException(运行或检查?),其中包含违规列表

成功:如果需要,则无效或创建实体

对于意外错误抛出运行时异常

我知道有两种基本方法,但每次我开始写作时,我都很难做到正确。

最佳答案

我对验证异常方法很反感,毕竟验证错误中没有什么异常,所以我发现很难证明使用异常是合理的。因此,从理论上讲,唯一有效的选项是第一个。

话虽如此,虽然这取决于您使用的验证框架*,但编写异常版本通常要容易得多。

无论您的验证异常(如果您正在使用一个验证异常)是否应该被检查,都会打开另一 jar 蠕虫,有些人通常非常反对检查异常,其他人会说完全相反。对于我的两分钱来说,我相信运行时异常应该保留用于编码错误,并且应该尽可能检查“预期”异常。但我必须强调,这只是我个人的喜好。

*如果您有多个 validator ,并且所有 validator 都必须在验证阶段运行,则异常不是很有效。如果您打算在第一个失败的验证步骤处停止,则异常更容易实现并且可能更具可读性。

关于java - 在业务层返回业务验证结果的首选方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5273093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com