帮助IT团队快速构建符合jt808协议部标的基于java技术的GPS和视频平台(2379423771@qq.com)

为什么要使用JBoss Drools


我在项目中一直使用JBoss Drools 这个开源的规则驱动引擎, 为什么要用它? 我要想出个一二三来说服别人。

对于business rule, 一般的情况是, 好的BA,可能更善于发现、抽取business rule ,并用结构化的方式描述、记录下来, 普通的BA可能更是一种流水账式的、吃那拉那的描述方式。
不管怎样,BA在写文档,use case的时候,那些business rule被分布在文档中不同的部分,然后这些rule,在分工时,有被理所当然的分给不同的开发人员来开发。

好的开发人员会刻意的使用各种手段剥分离、封装、结构化他们,并积极的重构他们,以防止规则的变化,冲击到设计或代码的结构。

而普通的开发人员则极有可能硬编码写死在代码当中,完成coding 任务,草草了事。

可以看出,这种方式,随意性太大,不可控的风险也随之增大。后果是,开发人员总是抱怨需求的变更,殊不知,合理的设计手段,在一定程度上,可以缓冲需求的变化。

JBoss Drools, 它在一定程度上解决了上面的问题:


1)规则首先应当是可管理的
   规则是相对灵活、复杂的,我们要控制、管理它们,而不是直接暴露给开发人员,愿意怎么搞,就怎么搞,一个人一种style。

   Drools使用script,将rule集中写在规则库文件当中, 使得设计人员更容易管理。同时可以设计复杂的业务规则,并在没有编写任何代码的情况下自动绑定企业数据。提供带有菜单提示和下拉列表的向导来帮助用户完成设计过程。

2)我们则设计是,总要遵循一些原则:
   将易变的和不变的分离出来
   封装可变的规则, 避免硬编码编程
   将多源的规则,合并、整理成单源的规则,一进一出,降低复杂度。

   Drools将规则写在配置文件当中,以集中强制的方式剥离了规则,而不是写死在代码当中。在规则变化而修改脚本文件时,不用重新部署系统。

3)规则应当使用一种清晰、易懂的方式记录下来,并明确下来,无论是汉语还是英文句子,都不是表达规则的好的方式。大段大段的文字,往往让人发晕。

   伪代码、script语言反而时表达规则的一种极好的方式, 结构化的表达方式,让开发人员觉得非常亲切,更加平易近人。

   Drools 引入了更为强大且的业务行为脚本语言(MVFlex表达式语言)。用户会发现脚本语言的引入使得代码变得更为简明且可读性更好。

posted on 2008-08-07 14:22 Speed 阅读(3181) 评论(1)  编辑  收藏 所属分类: 框架设计J2EE

评论

# re: 为什么要使用JBoss Drools 2009-02-08 10:05 zhongmindong

我们找SEAM开发人员,请联系我.GZQYDM@139.COM  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

留言簿(15)

随笔分类

值得一看的博客

积分与排名

最新评论

阅读排行榜