Per*_*der 9 .net design-patterns business-logic business-rules
我正在研究决策引擎/规则评估引擎.例如:
输入:客户和客户完成的所有违规行为
产出:违法行为的后果
一个示例案例是:
输入:客户(Jhonny Chimpo,999-00-1111),犯罪(打破了窗口,打了一个老板,在他的腹股沟中踢了团队领导)
输出:获得粉红色滑动
因此,我想写的代码片段根据每个攻击和组合攻击的规则评估不同的攻击.当前代码只是if和else语句的迷宫.我确信这些业务问题很常见.通常使用什么设计/企业模式来解决这样的问题?
这是规格模式吗?我希望代码是开放的扩展,干净和灵活.
基本上业务规则看起来像
forall rules:
if <condition> then doAction();
Run Code Online (Sandbox Code Playgroud)
是否可以使用分数按严重程度对所有罪行进行分类,也许对经常“作恶”的人有额外的奖励,某些罪行可能会被限制时间以及任何需要的东西。
那么算法的粗略草案可能是:
使用数据结构而不是许多(可能是深层嵌套的)if..then..else 东西,这将是直接的。