java中的业务数据验证方法

java中的业务数据验证方法,java,validation,Java,Validation,我被一个相当复杂的话题缠住了。我正试图提出一些通用的数据验证解决方案。我们有一个类似于手机公司客户管理系统的系统,在这个系统中,客户的账户中有很多信息(成本、付款、个人信息、事件档案、债务等),我需要在多种情况下验证这些数据。我不能忘记,有各种各样的帐户,其中一些需要特定的验证。我不明白的是,这项工作需要一些通用的、简单的和可重用的系统 主要思想是,当我想要验证数据时,将使用许多“约束”(比如:客户必须有名字,如果有债务,就不能多付,等等),并且还会有定义的情况(比如账户取消、付款请求发送等)(

我被一个相当复杂的话题缠住了。我正试图提出一些通用的数据验证解决方案。我们有一个类似于手机公司客户管理系统的系统,在这个系统中,客户的账户中有很多信息(成本、付款、个人信息、事件档案、债务等),我需要在多种情况下验证这些数据。我不能忘记,有各种各样的帐户,其中一些需要特定的验证。我不明白的是,这项工作需要一些通用的、简单的和可重用的系统

主要思想是,当我想要验证数据时,将使用许多“约束”(比如:客户必须有名字,如果有债务,就不能多付,等等),并且还会有定义的情况(比如账户取消、付款请求发送等)(这里不讨论从代码执行验证)。情境将有一个为其验证或执行的约束列表。这就是我们想要的

但是什么是正确的java方法呢?所有情况和约束都应该是类吗?情况将有约束实例,实例将有validate()方法?但每个人都有不同的论点。还有其他想法吗


我知道,这里的答案可能很长,所以我将非常感谢指导我关于这个主题的一些文档非常感谢您的回答

看看这些模式:


这两种方法对于构建业务规则链验证/链都很有用。您可能需要一个规则引擎

对我来说这听起来像:

您有许多实体类型,它们都有一个共同点-
validate()
method。 如果您对相同的实体类型需要不同的验证策略,您可以在每个验证方法中使用,例如,帐户先运行名称验证程序,然后运行地址验证程序、余额验证程序等

祝你好运

看看这个:

我们正在使用该工具来管理数据一致性。这是一种很好的方法,因为您能够从代码中封装规则。没有IT知识的人能够通过规则建模者管理业务规则。我认为这是一个处理业务数据验证的好概念!嗯