該執行個體轉自:http://blog.csdn.net/quzishen/article/details/6163012
便於理解的應用執行個體1:
現在我們類比一個應用情境:網站伴隨業務產生而進行的積分發放操作。比如支付寶信用卡還款獎勵積分等。
發放積分可能伴隨不同的運營策略和季節性調整,發放數目和規則完全不同,如果使用硬式編碼方式去伴隨業務調整而修改,代碼的修改、管理、最佳化、測試、上線將是一件非常麻煩的事情,所以,將發放規則部分提取出來,交給Drools管理,可以極大程度的解決這個問題。
(注意一點的是,並非所有的規則相關內容都建議使用Drools,這其中要考慮系統會運行多久,規則變更頻率等一系列條件,如果你的系統只會線上上運行一周,那根本沒必要選擇Drools來加重你的開發成本,java硬式編碼方式則將是首選)
我們定義一下發放規則:
積分的發放參考因素有:交易筆數、交易金額數目、信用卡還款次數、生日特別優惠等。
定義規則:
// 過生日,則加10分,並且將當月交易比數翻倍後再計算積分
// 2011-01-08 - 2011-08-08每月信用卡還款3次以上,每滿3筆贈送30分
// 當月購物總金額100以上,每100元贈送10分
// 當月購物次數5次以上,每五次贈送50分
// 特別的,如果全部滿足了要求,則額外獎勵100分
// 發生退貨,扣減10分
// 退貨金額大於等於100,扣減100分
根據這些規則,我們讓Drools自動為我們計算出為某個特定使用者發放的積分數為多少。
源碼:https://github.com/XBWer/DroolsDemo
另外舉個例子——QQ等級加速
根據一系列的加速規則進行加速。
If you have any questions about this article, welcome to leave a message on the message board.
Brad(Bowen Xu)
E-Mail : max_xbw@163.com