求解,领域模型内业务逻辑检测返回值的问题
在业务逻辑中经常有各种逻辑规则检测的情况,当不符合业务规则时,执行将终止。
通常我使用两种方法来解决这种情况。
第一种,就是返回错误码的解决方法,定义一个0到100的数字,每个数字代表一种错误信息,如下边示例:0代表操作成功,1代表提交的number数字不合法,2代表其它操作异常。这种解决方法,使得我基本上所有的操作方法都必须有一个返回值。并且都要定义返回码所代表的意义。特别是当我某个方法有需要返回一个特定对象时,处理起来很麻烦。回为返回结果对象让错误码占用了。
第二种比较简单,就是当规则验证不通过时就抛一个相应的异常出去。这种方法不会占用返回果。但是异常又比较耗性能。如果业务规则判断都用异常处理,那么肯定性能受影响。
请教大家有什么好的解决方法么?
示例1:
|
示例2:
|
[该贴被lswweb于2013-09-02 14:54修改过]