通用业务规则引擎

时间:2016-06-10 10:14:56

标签: c# generics interface business-logic rule

我需要使用C#编写业务规则引擎。基本的是它是商店的规则引擎。人们可以买到各种各样的东西。

  

规则示例:
  *如果他们购买物品,我会寄送运单   *如果他们购买了CD,我将为特许权使用费支付创建版税单   *如果他们购买会员资格,我会激活它   *如果他们购买了一个名为“空手道”的视频,我会在顶部添加一个免费的“急救”视频。

我必须使它具有很大的可扩展性,因为许多(100多条规则)可能同时生效。

我的第一个想法是做出以下结论:

  

包含产品类型(例如书籍)和操作(将是类名称)

的表格      

然后,所有操作类都将使用强制“Run()”方法实现接口IAction。

     

然后您可以创建实现此接口的规则。

     

当购买产品时,该表将有一行或多行需要启动。然后工厂类将实例化此规则,并激活“运行”方法。

基本上,代码需要具有可扩展性,并且只需最少的维护即可处理高复杂性和可能的​​高变化率。我觉得会有比上面更聪明的方法。

所以我的问题是:解决这个问题的聪明方法是什么?

0 个答案:

没有答案