我在写一些使用很多规则的系统。现在是我组织它们并使其高效的时候了。主要要求是 - 商业友好,易于理解,易于查找,易于维护,可测试。Python中的规则引擎
这个问题不是关于如何创建规则引擎。我不写一个。我的目标是想方设法在一个地方维护很多规则。并让它变得容易。我需要一些专业建议如何去做,采取什么方法。以下是我已经证明我正在从事这项工作的例子,而不是简单地要求某人去做我的工作。
到目前为止,我有3种方法:
1)阵列类型:
item=context.GetNextItem()
if ['banana','apple','orange'].Contains(item): EatRaw(item)
if ['banana','apple','potato'].Contains(item): BakeAndEat(item)
if ['meat','egg','potato','fish'].Contains(item): FryAndEat(item)
if ['pasta','egg','potato'].Contains(item): BoilAndEat(item)
2)每个项目分隔的文件:
item=context.GetNextItem()
execfile(str(item)+'.py')
#banana.py:
EatRaw(item)
BakeAndEat(item)
#potato.py:
BakeAndEat(item)
FryAndEat(item)
Bo