規則引擎開發經驗分享 - reddit
背景。我在一個團隊中工作,負責管理一堆不同的規則引擎。其中一個是純粹的Java麵條,只有開發它的人明白,另一個是在一個專有的BRMS系統上執行,有數萬條規則,還有一個是我開發的,是一個決策表系統。
在建立一個規則引擎時,你能做的最重要的事情就是限制它的功能。在你的例子中,你應該至少有三個獨立的規則引擎:一個做賬戶邏輯,一個檢查產品可用性,另一個尋找客戶賬戶問題。這將有助於限制可能出現的義大利麵條。
你能做的第二件最重要的事是確保每條規則都能被測試、重構,並且你能為這套規則提供保證。為此,我建議避免使用執行規則的單獨語言。它可能很強大,但它們可能是測試的噩夢,而且專門的規則語言通常沒有主流語言那麼好的工具。如果你使用像決策表這樣的東西,那麼驗證輸入和正確地將其轉化為你自己程式碼中的類就容易多了。
最後,我建議在你的規則中防止任何形式的狀態或排序。如果你需要在各輪執行之間保持狀態,你很可能實際上是在談論不同型別的規則,例如,建立不同的規則集來確定客戶是否可以下訂單(布林輸出),以及另一個規則集來確定他們得到的信貸金額(小數輸出),而不是把它們放在一起,用0來表示客戶不能下訂單。
相關文章
- 【java規則引擎】java規則引擎搭建開發環境Java開發環境
- 《無限法則》開發經驗分享:射擊遊戲的物理引擎應用和移動模擬遊戲
- 【java規則引擎】之規則引擎解釋Java
- PagerDuty的API開發經驗分享 – IncrementAPIREM
- 小程式·雲開發 專案開發經驗分享
- 【java規則引擎】規則引擎RuleBase中利用觀察者模式Java模式
- 開源規則引擎LiteFlow如何整合和專案應用驗證
- 用規則引擎開發靈活配置的業務系統
- 規則引擎模式 - upperdine模式
- Android開發之專案經驗分享Android
- Android開發之ListView使用經驗分享AndroidView
- 分享8年開發經驗,淺談程式設計師職業規劃程式設計師
- Devs--開源規則引擎介紹dev
- Laplace分佈運算元開發經驗分享
- php開發中經常用到的正則驗證PHP
- Java規則引擎 Easy RulesJava
- 架構 規則引擎 quartz架構quartz
- Java各種規則引擎Java
- Drools規則引擎簡介
- Drools 規則引擎應用
- [Drools]JAVA規則引擎 -- DroolsJava
- 開放封閉原則與規則引擎設計模式 - devgenius設計模式dev
- 開發 eslint 規則EsLint
- 開發60條規則
- Domino Web開發規則Web
- 規則引擎模式的.NET開源專案案例模式
- 經驗分享:iOS平臺設計規範iOS
- Nuxt開發經驗分享,讓你踩少點坑!UX
- 短網址開發運維經驗總結分享運維
- 用Delphi 開發資料庫程式經驗三則 (轉)資料庫
- 軟體研發之道:微軟開發團隊的經驗法則微軟
- Evrete 規則引擎簡介 | baeldungVR
- 經驗分享 ----------
- 經驗分享
- 正則經驗
- 我們自研的 Ice 規則引擎開源了
- 免費分享短影片app開發的收益分成相關規則APP
- Java遊戲開發規則Java遊戲開發