今天我遇到了一个有趣的挑战,我希望你能就如何处理这种情况提供意见。
所以问题如下(我已将其转换为演示数据,因为如果不熟记公司字典,真正的问题就没有多大意义)。
我们有一个至少有 16 个条件的决策表。因为要管理所有这些(2^16 种可能性)是一项不可能的壮举,我们决定只列出例外情况。像这样:
作为一个例子,我只添加了 10 个条件,但实际上(目前)有 16 个。基本思想是我们有一个基线(默认),它对每个人都有效,并且此默认值的所有例外。
例子:
你有一个外国人也是海盗。如果您逐个检查所有异常,并逐个条件地删除具有至少一个条件失败的异常。最后,您将得到以下两个对我们的案例有效的例外情况。匹配是在 IsPirate 和 IsForeigner 条件下。但正如您所看到的,这里有 2 个结果,如果算上默认值,实际上是 3 个。
我们的解决方案
现在我们想出如何解决这个问题的是,在您添加这些异常的 GUI 中,应该运行一个算法来检查这种情况并强制您更具体地定义异常。这仍然只是一个理论,还没有经过测试,但我们认为它可以这样工作。
我的问题
我正在寻找使规则易于管理并防止我在示例中显示的问题的替代解决方案。