用規則引擎開發靈活配置的業務系統

程式碼女民工發表於2021-11-11

最近收到一個任務,要用java開發一套業務管理系統,心想著應該不難,無非也是按框架辦事,於是開始構思框架。一番商量後覺得采用SSH框架不錯,於是咋們開始動手,但遇到後期,業務越來越複雜,業務是具有可變性,讓我的專案進度越來越慢,主要是複雜多變的業務物件處理和協調很容易混亂甚至出錯,心想著要是能把業務層分離出來獨立的去處理,那麼專案開發效率將會大大提高。於是我無意中發現了“規則引擎”這個玩意,可能很多人都沒聽過規則引擎,也不知道他的作用,但它確實對我的專案有著決定性的幫助。



規則引擎就是嵌入在應用程式中的元件,實現了將業務決策從應用程式程式碼中分離出來,並使用預定義的語義模組編寫業務決策。接受資料輸入,解釋業務規則,並根據業務規則做出業務決策。 這麼一聽豈不是和我前面的設計思路一致嗎?把業務層分離出來獨立的去管理與編寫。  有了這個神奇的元件,我就繼續開搞。

首先我把以前專案中的業務程式碼刪掉了,換成了幾句簡單明瞭的語句:

RuleEngine ruleEngine = RuleEngineFactory.newInstance().getRuleEngine();


ruleEngine.put(傳入物件);
ruleEngine.excute("規則包呼叫名");
傳出物件 = ruleEngine.get("傳出物件名");
就這樣,我的java原始碼檔案非常的清晰明瞭,由於那些複雜的業務程式碼已經全被轉移走,換成了上面幾句簡單的語句,這幾條語句呼叫了規則引擎生成的規則包,而規則包正是我們處理業務的程式碼。就這樣,我們java的編寫部分結束,剩下的就是用規則引擎去處理和現實複雜多變的業務了。

我這邊使用的是旗正4.0規則配置器。感覺還不錯~~

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70007056/viewspace-2841825/,如需轉載,請註明出處,否則將追究法律責任。

相關文章