drools:業(yè)務(wù)規(guī)則管理系統(tǒng)

Drools是一款基于Java的開(kāi)源規(guī)則引擎,全稱為業(yè)務(wù)規(guī)則管理系統(tǒng),實(shí)現(xiàn)了將業(yè)務(wù)決策從應(yīng)用程序中分離出來(lái)。

drools:業(yè)務(wù)規(guī)則管理系統(tǒng)

什么場(chǎng)景下需要使用Drools

drools:業(yè)務(wù)規(guī)則管理系統(tǒng)

信用卡申請(qǐng)

比如說(shuō)辦信用卡,年齡、學(xué)歷、薪水、和是否有車和房,這些數(shù)據(jù)會(huì)作為用戶是否有申請(qǐng)資格的判定條件,假如有三個(gè)規(guī)則如下:

規(guī)則一:既沒(méi)房也沒(méi)車,學(xué)歷大專以下,月薪少于5000,申請(qǐng)拒絕

規(guī)則二:既沒(méi)房也沒(méi)車,學(xué)歷大專以下,但月薪大于10000,申請(qǐng)通過(guò)

規(guī)則三:既沒(méi)房也沒(méi)車,學(xué)歷本科以上,月薪大于3500,小于5000,申請(qǐng)通過(guò)

審核通過(guò)后,又有三個(gè)規(guī)則規(guī)定發(fā)放申請(qǐng)額度:

規(guī)則一:學(xué)歷大專以下,月薪大于10000,額度10000

規(guī)則二:學(xué)歷本科以上,月薪小于5000,額度10000

規(guī)則三:學(xué)歷本科以上,月薪大于10000,額度15000

傳統(tǒng)實(shí)現(xiàn)方式,在業(yè)務(wù)代碼中需要植入大量if else判斷:

Public boolean check(User user){If(!user.isHouse && !user.isCar &&user.xueli<dazhuan && user.xinzi < 5000)Return false;Else if(!user. isHouse && !user.isCar &&user.xueli<dazhuan && user.xinzi >=1000)Return true;Else if(!user. isHouse && !user. isCar &&user.xueli>benke &&,3500<user.xinzi <5000)Return true;}

 Public int check(User user){If(user.xueli<=dazhuan && user.xinzi >=10000)Return 10000;Else if(user.xueli>=benke && 3500<user.xinzi <5000)Return 10000;Else if(&user.xueli>=benke &&,user.xinzi >10000)Return 15000;}

如果人行出具新的金融政策,申請(qǐng)要求增加條件,那我們就必須修改或者新增if else的代碼。改這個(gè)代碼有三個(gè)弊端

1、硬編碼實(shí)現(xiàn)業(yè)務(wù)規(guī)則代碼難以維護(hù)

2、硬編碼使業(yè)務(wù)代碼和規(guī)則高耦合,難以應(yīng)對(duì)變化

3、業(yè)務(wù)規(guī)則一旦發(fā)生變化,就要修改代碼,重啟應(yīng)用

面對(duì)上面的業(yè)務(wù)場(chǎng)景,有個(gè)好的實(shí)現(xiàn)方式就是drools規(guī)則引擎。

drools:業(yè)務(wù)規(guī)則管理系統(tǒng)

drools規(guī)則引擎的優(yōu)勢(shì):

1、業(yè)務(wù)規(guī)則和系統(tǒng)代碼分離

2、不重啟服務(wù)的情況下,可隨時(shí)對(duì)業(yè)務(wù)規(guī)則進(jìn)行擴(kuò)展和維護(hù)

3、減少硬編碼業(yè)務(wù)規(guī)則的成本和風(fēng)險(xiǎn)

4、規(guī)則實(shí)現(xiàn)變得更加清晰

drools實(shí)戰(zhàn):

1、引入drools-compiler.jar

2、drools API開(kāi)發(fā)步驟如下:

drools:業(yè)務(wù)規(guī)則管理系統(tǒng)

3、規(guī)則引擎主要包括三個(gè)方面:規(guī)則模板、基準(zhǔn)數(shù)據(jù)、業(yè)務(wù)數(shù)據(jù)

drools:業(yè)務(wù)規(guī)則管理系統(tǒng)

1、規(guī)則模板

/***審核申請(qǐng)*/rule "pass_@{row.rowNumber}"   no-loop true    lock-on-active true    salience 99  when   user : User(xueli>("@{xueli}"), xinshui>("@{xinshui}"),isHouse.equals("@{isHouse}"), isCar.equals("@{isCar}"))  thenSystem.out.println("user=" user);   user.setPass(true);end 

2、基準(zhǔn)數(shù)據(jù),通過(guò)ObjectDataCompiler.compile初始化到規(guī)則中;

3、業(yè)務(wù)數(shù)據(jù)fact,通過(guò)ksession.insert(fact)傳給規(guī)則做比較

drools:業(yè)務(wù)規(guī)則管理系統(tǒng)

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。

(0)
上一篇 2022年12月1日 上午9:55
下一篇 2022年12月1日 上午10:09

相關(guān)推薦

日本人妻丰满熟妇久久久久久| 国内精品一战二战| 一级做a爱一区| 欧美日本视频在线观看| 亚洲精品乱码久久久久久蜜桃不卡 | 国产精品青青青高清在线 | 波多野结衣手机在线视频| 啊好深好硬快点用力视频| 精品一区精品二区制服| 免费看美女隐私全部| 秋霞午夜在线观看| 四虎永久在线精品国产馆v视影院| 邻居少妇张开腿让我爽了在线观看 | 国产日产精品_国产精品毛片| AAA级久久久精品无码片| 国产视频第二页| 2021国产麻豆剧果冻传媒影视 | 欧美性69式xxxx护士| 亚洲国产精品ⅴa在线观看| 欧美日韩综合视频| 人人超碰人人爱超碰国产| 狠狠色狠狠色综合日日不卡| 人妻无码久久一区二区三区免费 | 中文字幕激情视频| 99在线精品视频在线观看| 岳的奶大又白又胖| 青草久久精品亚洲综合专区| 特级精品毛片免费观看| a级成人毛片久久| 欧美潮喷videosvideo| 国产美女在线精品观看| 亚洲欧美日韩自偷自拍| 国产精品成人99一区无码| 亚洲日韩欧美一区久久久久我| 国产精品v片在线观看不卡| 成年人免费视频观看| 午夜精品福利影院| 一区二区精品在线观看| 欧美大BBBBBBBBBBBB| 国产精品亚洲一区在线播放 | 国产成人3p视频免费观看|