Vb.net 概念/规则实现/字符串操作

Vb.net 概念/规则实现/字符串操作,vb.net,string,rules,rule-engine,Vb.net,String,Rules,Rule Engine,因此,我正在VB.Net中开发一个软件,在这个软件中,我需要收集信息并根据规则进行处理。例如,简单的字符串替换规则,如将特定字段的“Det”转换为“Detached”,或拆分/联接规则,即基本字符串操作。我所有的抓取规则都是正则表达式,我将它们存储在一个数据库中,在不同的情况下以规则集的行形式存储 创建/存储操作文本的规则的最佳方式是什么?我不想将规则硬编码到软件中,而是能够添加更多,因为需要它们。我想将它们存储在数据库中,但如何解释它们呢?我假设我必须创建一个完整的系统来解释它们,就像一个规则

因此,我正在VB.Net中开发一个软件,在这个软件中,我需要收集信息并根据规则进行处理。例如,简单的字符串替换规则,如将特定字段的“Det”转换为“Detached”,或拆分/联接规则,即基本字符串操作。我所有的抓取规则都是正则表达式,我将它们存储在一个数据库中,在不同的情况下以规则集的行形式存储


创建/存储操作文本的规则的最佳方式是什么?我不想将规则硬编码到软件中,而是能够添加更多,因为需要它们。我想将它们存储在数据库中,但如何解释它们呢?我假设我必须创建一个完整的系统来解释它们,就像一个规则引擎?也许你可以对这个问题给我一个不同的看法。

我以前写过规则引擎。它们通常是个坏主意(tm)

我会考虑在应用程序代码中编写规则。不要使用数据库和规则引擎。首先,规则引擎常常混淆意图。当你在几个月后回来进行维护补丁时,很难看到到底发生了什么。其次,VB(或C#或您选择的任何其他语言)包含的定义规则的词汇比您可能有时间实现的任何语言都更合适。相信我,XML是一种糟糕的规则表示形式。最后,非程序员无论如何都无法编写正则表达式。。因此,您无法从增加的复杂性中获得任何东西

通过使用ClickOnce部署,您可以缓解大多数部署难题


希望有帮助。

胡说。你的全部答案完全是胡说八道。如果这一切属实的话,我们仍将生活在石器时代。银行无法运作,飞机无法飞行,等等。商业规则是现代编程和数据分析的重要组成部分。您将业务规则与一个小而琐碎的字符串操作任务混合在一起。你当然有权发表你的意见。我坚持我的答案,有二十年的经验支持。我有点同意Kizz。。。我不需要除我以外的任何人来开发规则,它们也不是正则表达式,但是它们包含大量字符串操作,我宁愿创建一个可以简单地添加规则(在数据库中)并查看结果的系统,而不是每次添加规则时都修改源代码。然而,所有规则都会受到引擎复杂性的限制。。。但整个想法是摆脱内部代码。。。但我想知道这是否有意义。也许我只是停留在这个不会带来任何好处的想法上?@developer:我会鼓励你继续建造它。但是,在您使用了6个月之后,重新审视一下实现,看看您是否会做一些不同的事情。每个人对什么“更容易”都有不同的看法。对我来说,更改源代码更容易。有人走过来说,“嘿,嘘,你开发的这个应用程序的行为方式与我的期望不符”(或者这就是我想让他们说的……通常它会充满一些咒骂)。。所以我打开代码。。隐马尔可夫模型。。看那。。“我所有的规则都在那里,可以仔细阅读。@developer:当然,我已经有了另一个规则。”。。我建立了一个规则引擎。。现在我打开代码回应一个bug投诉。。和。。嗯。。我不知道到底发生了什么,因为规则在数据库里。。所以打开数据库。。和。。哎呀。。查找与条件X匹配的行以及控制规则的相关行。。而且。。。这对我来说并不容易。但这是我的观点,每个人都有自己的观点。