`
hocus
  • 浏览: 2842 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

答复: 关于规则引擎在企业项目中的使用

阅读更多
roger_xl 写道
规则引擎的出现使得商业决策逻辑和应用开发者的技术决策分离,增强了软件的柔韧性. Java规则引擎项目 Drools 被设计为可插入式的语言实现。目前规则能用Java, Python和Groovy实现。更为重要的是,Drools提供了声明式程序设计(Declarative Programming),并且使用域描述语言(Domain Specific Languages (DSL))-专为你的问题域定义了某种模式的Xml, 它已经足够灵活到可以用来描述你的问题域。DSLs包含的XML元素(Element)和属性(Attribute)代表了问题域中各种要素。

规则引擎有两种方式.一种是解析执行的方式,就是解析规则包文件,根据规则包中定义的逻辑解析执行.另一种方式是编译执行,就是直接将规则包文件中的逻辑编译成可执行的字节码,通过调用执行.

有人在项目中使用过Drools吗, 如果自己实现规则引擎, 具体该考虑哪些因素呢. 请使用过的朋友过来讲讲. 目前一般项目中有哪些使用规则引擎的例子.



基于rate的高效算法已经有现成的产品了:开源的是drools,商用的有ilog。
自己实现引擎?!你就能写的比它们还好?
不是一句两句说的清楚,简要提一下,还是要自己多看文档
规则引擎的适用场合:
规则引擎适用于规则会被 业务人员频繁修改的;规则需要被抽象的;规则复杂无法用常规方式解决或不好解决(比如排课,排位)
不合时宜的引入规则引擎到系统内,只会给自己找麻烦,增加培训费用和后期支持的痛苦。

理解规则引擎的适用范围和真实需求,衡量是否使用是重要的第一步,当然多数情况是拍板的人其实不懂找个
抽象 业务模型和规则模型,并在其间建立映射,业务模型将面对最终业务人员,规则模型为了matchdrools
定义业务规则,归类,制定规则流程
选用合适的drl,其实默认的就不错
实现自己的BRMS,drools自带的那个未免太太简陋了些
drools 目前的ruleflow功能很薄弱,但flow确实是很重要的功能
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics