Ckrule规则引擎是一种嵌入在应用程序中的组件,实现了,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。CKRule是一个业务规则管理和复合事件处理的综合性引擎,可以将企业管理策略的定义,部署,管理和维护工作从核心代码中分离。企业将深入的业务决策整合到程序,并把市场变化因素以业务规则的形式进行更新。而CKRule可大大降低程序维护的成本,促进业务程序实现更多准确和有效的商务决策。简单来说,规则引擎就是为了将业务决策从应用程序代码中分离出来处理复杂多变的业务而出现的,而把这些变化封装到规则引擎中,提供通用的接口,让实施人员或客户在不改变低层代码的前提下,可以比较简单地改变规则。
规则引擎厂家大量采用rete算法来作为规则引擎的核心技术,各个厂家都是以实现rete算法作为产品的标榜。
而另一种做法就是使用编译来实现,即编写出来的规则是可以生成代码的。
CKRule并不是使用rete算法的,而是使用编译,即规则都是代码来实现,基于.Net4.0的C#语言编写的。Rete是基于内存的处理,而编译则是基于编译器,是可以直接执行的代码。因此从直观感受来看,编译会比算法要快。不过编译也带来语法学习成本的问题,要使用CKRule就要掌握基本的C#语法。

参考

百度百科:Ckrule规则引擎
https://baike.baidu.com/item/Ckrule%E8%A7%84%E5%88%99%E5%BC%95%E6%93%8E/14894131?fr=aladdin