天天看点

【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构

  该片文章只是抽取drools中java代码实现的一些代码结构,帮助我们理解drools是如何实现rete算法的。

  该部分只是抽取ReteooStatefulSession工作过程中的代码架构

       利用了多线程设计的一个代理模式(自己起的名字)

  利用了23中设计模式中的命令模式

一:模拟drools中ReteooStatefulSession的实现对象StatefulSession

【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构
【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构

View Code

二:模拟drools中DefaultExecutorService的实现对象DefaultExecutorService

【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构
【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构

三:模拟drools中CommandExecutor的实现对象CommandExecutor

【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构
【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构

四:模拟drools中Command的实现对象Command

【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构
【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构

五:模拟drools中Future的实现对象Future

【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构
【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构

六:模拟drools中FireAllRules的实现对象FireRuleCommand

【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构
【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构

七:模拟drools中WorkingMemory的实现对象WorkingMemory

【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构
【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构

八:模拟drools中ReteooStatefulSession启动的实现过程,该过程隐藏在drools中的org.drools.reteoo.ReteooRuleBase.newStatefulSession()方法中

【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构
【java规则引擎】之Drools引擎中模拟ReteooStatefulSession内部设计结构