我有一个财务应用程序,它有大量的规则要检查。该文件存储在 sql server 中。这是一个使用 C# 的 Web 应用程序。必须检查每个文件的这些规则,并且需要考虑数百条规则。这些规则每隔几周到几个月就会改变一次。我的想法是将这些规则存储在 xml 文件中,并让我的代码读取 xml 并动态生成文件上的 sql 查询。出于测试目的,我们对这些规则进行了硬编码,但希望迁移到更能适应这些规则变化的架构。我认为 xml 是一个很好的方式,但我会感谢那些以前走类似道路的人的建议。
每个规则检查的复杂性很小,通常只是简单的语句,例如:“如果 A && B && (C || D)”则将输出字符串写入日志文件”。
我的想法是在 xml (A && B && (C || D)) 中编码查询并将字符串附加到 xml 中的该节点。如果查询成功,则写入字符串,如果查询不成功,则不写入字符串。
想法?
作为对评论的回应,这里有一个更具体的示例:数据库有一个名为“资产”的实体。支持多种资产类型,例如支票、储蓄、401k、IRA 等。我们要检查的规则示例是:“如果文件有 401k,则将警告文本附加到报告中” . 该示例适用于一个非常简单的案例。
我们还涉及更复杂和动态的情况,在这些情况下,可能会在短时间内应用规则来拒绝具有特定属性类型的特定状态的客户端的文件。典型的例子是佛罗里达州不允许公寓。此规则最多存在一段时间,然后被删除。
基于大型贷款银行的自由裁量权,规则池不断变化。我们需要能够在站点的源代码之外进行这些规则更改。因此,使用 xml 并让 C# 解析 xml 并动态应用规则的想法是我的想法。这是否有助于阐明应用程序及其需求?