用規則引擎開發靈活配置的業務系統
最近收到一個任務,要用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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Drools 業務規則引擎的完整教程
- 第2-4-4章 規則引擎Drools規則屬性-業務規則管理系統-元件化-中臺元件化
- 什麼是業務規則引擎?
- 開源規則引擎——ice:致力於解決靈活繁複的硬編碼問題
- uwegeercken/jare:Java業務規則引擎(Jare)JARJava
- cerner/clara-rules: Clojure的業務規則引擎與專家系統
- 第2-4-2章 規則引擎Drools入門案例-業務規則管理系統-元件化-中臺元件化
- 第2-4-6章 springboot整合規則引擎Drools-業務規則管理系統-元件化-中臺Spring Boot元件化
- 第2-4-5章 規則引擎Drools高階語法-業務規則管理系統-元件化-中臺元件化
- 規則引擎開發經驗分享 - reddit
- Drools 規則引擎應用
- 靈活運用JavaScript開發技巧JavaScript
- Java中最流行的幾種業務規則引擎簡介Java
- 【開源】Tsar——靈活的系統和應用採集軟體
- 區塊鏈服務應用系統開發搭建分析 | 區塊鏈系統專案搭建規則解析區塊鏈
- 直播預告 | 服務網格規模化應用下的 Istio Sidecar 靈活配置實踐IDE
- 創業者需要的品質:靈活!靈活!靈活創業
- Logback中如何自定義靈活的日誌過濾規則
- 規則引擎並不靈:康威定律不適用於剛性設計 - verraes
- 鏈動2+1系統開發的規則模式及應用特點模式
- 用 Java 構建簡單的規則引擎Java
- Uniswap質押挖礦系統開發模式規則模式
- 業務規則管理系統市場以11.8%增長 - abnewswire
- Python:靈活的開發環境Python開發環境
- URule規則引擎
- 決策表模式: 一種業務規則引擎實現方式模式
- MDEX挖礦系統開發規則詳解 | MDEX挖礦系統開發原始碼原始碼
- 靈活運用JS開發技巧(66個實用技巧)JS
- 規則引擎模式的.NET開源專案案例模式
- Devs--開源規則引擎介紹dev
- 規則引擎模式 - upperdine模式
- .NET RulesEngine(規則引擎)
- ESB編排平臺,靈活構建企業系統流程
- 正規表示式如何在PHP裡靈活的應用PHP
- 系統學習 TypeScript(二)——開發流程和語法規則TypeScript
- imtoken/tp/metamask小狐狸錢包系統開發(開發規則及原始碼)原始碼
- 我們自研的 Ice 規則引擎開源了
- 開源規則引擎LiteFlow如何整合和專案應用驗證