規則引擎開發經驗分享 - reddit
背景。我在一個團隊中工作,負責管理一堆不同的規則引擎。其中一個是純粹的Java麵條,只有開發它的人明白,另一個是在一個專有的BRMS系統上執行,有數萬條規則,還有一個是我開發的,是一個決策表系統。
在建立一個規則引擎時,你能做的最重要的事情就是限制它的功能。在你的例子中,你應該至少有三個獨立的規則引擎:一個做賬戶邏輯,一個檢查產品可用性,另一個尋找客戶賬戶問題。這將有助於限制可能出現的義大利麵條。
你能做的第二件最重要的事是確保每條規則都能被測試、重構,並且你能為這套規則提供保證。為此,我建議避免使用執行規則的單獨語言。它可能很強大,但它們可能是測試的噩夢,而且專門的規則語言通常沒有主流語言那麼好的工具。如果你使用像決策表這樣的東西,那麼驗證輸入和正確地將其轉化為你自己程式碼中的類就容易多了。
最後,我建議在你的規則中防止任何形式的狀態或排序。如果你需要在各輪執行之間保持狀態,你很可能實際上是在談論不同型別的規則,例如,建立不同的規則集來確定客戶是否可以下訂單(布林輸出),以及另一個規則集來確定他們得到的信貸金額(小數輸出),而不是把它們放在一起,用0來表示客戶不能下訂單。
相關文章
- 《無限法則》開發經驗分享:射擊遊戲的物理引擎應用和移動模擬遊戲
- URule規則引擎
- 開源規則引擎LiteFlow如何整合和專案應用驗證
- Devs--開源規則引擎介紹dev
- PagerDuty的API開發經驗分享 – IncrementAPIREM
- 規則引擎模式 - upperdine模式
- .NET RulesEngine(規則引擎)
- 小程式·雲開發 專案開發經驗分享
- 用規則引擎開發靈活配置的業務系統
- 開發 eslint 規則EsLint
- Java各種規則引擎Java
- 架構 規則引擎 quartz架構quartz
- Java規則引擎 Easy RulesJava
- Drools 規則引擎應用
- Drools規則引擎簡介
- 開放封閉原則與規則引擎設計模式 - devgenius設計模式dev
- 規則引擎模式的.NET開源專案案例模式
- Laplace分佈運算元開發經驗分享
- 開發60條規則
- 什麼是規則引擎? - martinfowler
- Evrete 規則引擎簡介 | baeldungVR
- 規則引擎Golang指南 – Mohit KhareGolang
- 我們自研的 Ice 規則引擎開源了
- Nuxt開發經驗分享,讓你踩少點坑!UX
- 經驗分享
- 免費分享短影片app開發的收益分成相關規則APP
- Netflix Conductor等開源工作流引擎的使用經驗分享 | 駭客新聞
- 工程師經驗分享2 --- 嵌入式大牛開發經驗心得之學習方向工程師
- 軟體研發之道:微軟開發團隊的經驗法則微軟
- 快速整合和使用 drools 規則引擎
- 什麼是業務規則引擎?
- 全渠道營銷規則引擎案例
- 【Urule原始碼解析1】開源視覺化規則引擎原始碼視覺化
- Validator | validate 驗證規則
- Spring Boot + liteflow 規則引擎,太香了!Spring Boot
- uwegeercken/jare:Java業務規則引擎(Jare)JARJava
- 規則引擎在IoT的重要性?
- Drools 業務規則引擎的完整教程