1

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

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

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

我知道,这里的答案可能很长,所以我会很感激指导我有关该主题的一些文档。非常感谢您的回答!

4

4 回答 4

1

这听起来像我的访客

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

祝你好运

于 2012-10-10T09:51:05.213 回答
1

看看这个模式:

策略模式

责任链模式

它们都对构建业务规则验证链/链很有用

于 2012-10-10T09:45:05.413 回答
0

看看这个: http: //www.visual-rules.com/business-rules-management-software-rules-engine.html

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

于 2012-10-10T10:01:52.590 回答
0

你可能需要一个规则引擎?http://java-source.net/open-source/rule-engines

于 2012-10-10T09:46:28.657 回答