简而言之,我想知道用于编码用户定义标准(例如 Excel 的条件格式)的标准方法是什么
例如,假设我有一个佣金系统,代码如下:
if (sales < 100 && empCategory = "junior") {
commRate = 0.50;
} else if (sales < 100 && empCategory = "senior") {
commRate = 0.60;
} else if (sales >= 100 && sales <1000) {
commRate = 0.70;
} else {
commRate = 0.80;
}
因此,在此示例中,确定佣金率的逻辑是硬编码的。但是,我想将此逻辑从硬编码代码中取出,并允许用户使用布尔和比较运算符对数据库中的字段添加、修改和删除这些条件(再次,就像 Excel 条件格式一样)
注意我以变量的设置为例。相反,我可以根据标准调用另一个程序吗?
另外,请注意上面的例子非常简单。现实生活中的计算将涉及一个更复杂的公式,该公式将大多数布尔/比较运算符与嵌套语句一起使用。如果不满足任何条件,几乎总会出现“其他”情况。最后,这将应用于每一行都是一个相当大的记录集。
为此设计 GUI 不是问题,但我不确定:
在哪里存储用户的条件(在 db 表中、在 XML 中等...)?
如果布尔/比较运算符以及布尔语句(即嵌套语句)的结构没有硬编码,如何设置 commRate 变量
如果我实际上没有在我的实际代码中使用布尔/比较运算符,我很难做到这一点,但我知道这是可能的。我知道您可以使用二叉树数据结构来处理数学公式,但我不确定我是否走在正确的轨道上。
我会很感激任何建议。
谢谢