抛出异常还是约定返回值

[b]具体场景如下:[/b]
现在要执行一个业务操作方法,这个业务方法执行要有N个前置条件满足才能执行

现在使用统一MVC架构,

调用者要收到反馈,知道没ok,根据反馈进行一些列的后续操作,比如通知用户去哪完善,怎么完善


那么怎么处理?

第一种:N个前置条件的检验,放到action里面做,如果不满足返回相关页面之类的

优点:开发直接简单
缺点:思维直接控制层充斥着这样的业务逻辑,很乱,复用性不强,换个action执行这个,还要再组装

第二种:N个前置条件和业务方法在一块组成一个service方法,直接调用就ok了
作为有追求的coder,我们肯定要第二种,那么第二种问题来了

[b]问题:[/b]

这一系列走一流程,写成一个方法完成,那么前置条件到底是第一个不满足,还是第N-1个不满足,怎么得到反馈

抛出异常来通知相关情况

好处:不满足方法的约定,直接给出异常,
缺点:感觉上犯了异常代替了正常流程的问题,不是很确定

通过返回值来通知相关情况但这种检测条件满足否
有点:性能方面,约定一些列的final String 或者 Eunm ,也算直观吧
缺点:方法返回值承载了太多东西,通常不是要直接返回结果

大家有什么看法?转头什么的扔吧
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值