我要对一个对象验证,不是对象自己的属性。
举例:比如对订单验证,
1要验证商品库存是否大于0,不大于0抛出异常。
2要验证订单中钱款是否与支付的钱款一致,不一致抛出异常。
3验证优惠卷号是否已经使用。
4....
只有所有验证都通过才能成功,任何一个验证不通过则失败。
随着业务的增加,验证还会继续增加。
这个该用什么设计模式实现呢?
我要对一个对象验证,不是对象自己的属性。
举例:比如对订单验证,
1要验证商品库存是否大于0,不大于0抛出异常。
2要验证订单中钱款是否与支付的钱款一致,不一致抛出异常。
3验证优惠卷号是否已经使用。
4....
只有所有验证都通过才能成功,任何一个验证不通过则失败。
随着业务的增加,验证还会继续增加。
这个该用什么设计模式实现呢?
你好,如果你用的是springmvc,可以采用JSR-303协议进行验证,不仅可以满足业务类自身属性的细致检验。还可以进行业务逻辑检验,当然只是这个业务类自身的业务逻辑检验,比如,开始时间必须大于当前时间,金钱必须大于20000.00等。我个人研究且做过,只需创建一个业务验证类即可,再controller层直接拦截,返回可识别信息。