.NET 6中使用Jint的JavaScript規則引擎
過去,當我需要 .NET 中的使用者定義規則引擎時,我曾探索過使用 Irony 語言實現工具包編寫自定義域特定語言。但大多數情況下,我使用了 SpringFramework.NET,其中包含一個很棒的表示式評估引擎。表示式評估引擎允許編寫基於字串的規則,甚至是行內函數,這使得在.NET中建立一個基本的、使用者可配置的規則引擎沒有太多麻煩。
這在構建整合時特別有用,因為它為將輸入和輸出轉換為整合端點提供了一定程度的控制,可以將您的系統與上游和下游更改(例如合同格式更改)隔離開來。
雖然 SpringFramework.NET 儲存庫仍然顯示提交,但該庫似乎已經失敗
如果在 2022 年需要使用 .NET 6 的使用者可配置、可編寫指令碼的規則引擎,該怎麼辦?
答案:Jint
Jint是一個適用於.NET的Javascript直譯器,它可以在任何現代.NET平臺上執行,因為它支援.NET標準2.0和.NET 4.6.1目標(及以上)。因為Jint既不生成任何.NET位元組碼,也不使用DLR,所以它執行相對較小的指令碼非常快。
檢查一下支援的JavaScript功能列表,它實際上相當豐富,只有一些更高階的功能被排除在外。
讓我們看看我們如何將其作為一個規則引擎來構建一個允許使用者定義的規則和指令碼被執行的系統。
案例原始碼:https://github.com/CharlieDigital/dotnet6-jint-rules-engine
相關文章
- 【java規則引擎】之規則引擎解釋Java
- 規則引擎模式的.NET開源專案案例模式
- 快速整合和使用 drools 規則引擎
- 【java規則引擎】規則引擎RuleBase中利用觀察者模式Java模式
- 【java規則引擎】java規則引擎搭建開發環境Java開發環境
- 規則引擎模式 - upperdine模式
- 使用 Drools 規則引擎實現業務邏輯
- C# 程式碼中呼叫 Javascript 程式碼段以提高應用程式的配置靈活性(使用 Javascript .NET 與 Jint)C#JavaScript
- 【java規則引擎】簡單規則的rete網路示意圖Java
- Java規則引擎 Easy RulesJava
- 架構 規則引擎 quartz架構quartz
- Java各種規則引擎Java
- Drools規則引擎簡介
- Drools 規則引擎應用
- [Drools]JAVA規則引擎 -- DroolsJava
- Drools 業務規則引擎的完整教程
- 【java規則引擎】一個基於drools規則引擎實現的數學計算例子Java
- camunda快速入門(五):DMN規則引擎如何使用
- Evrete 規則引擎簡介 | baeldungVR
- JavaScript中this的繫結規則JavaScript
- JavaScript this 繫結規則JavaScript
- JavaScript:打破所有規則JavaScript
- 使用JavaScript動態新增CSS樣式規則JavaScriptCSS
- 一個規則引擎的視覺化方案視覺化
- 如何學習Java的規則引擎模式? - plagovJava模式Go
- 規則引擎與ML模型的比較 - xLaszlo模型
- 用 Java 構建簡單的規則引擎Java
- 使用DDD規格Specification模式構建資料驅動規則引擎 - jonblankenship模式
- uwegeercken/jare:Java業務規則引擎(Jare)JARJava
- 規則引擎Golang指南 – Mohit KhareGolang
- java 規則引擎資料彙集Java
- JavaScript中記憶體使用規則--堆和棧JavaScript記憶體
- 基於Groovy的規則指令碼引擎實戰指令碼
- 規則引擎整合新的可觀測性框架框架
- 25個有關Drools規則引擎的面試題面試題
- 基於 XAF Blazor 的規則引擎編輯器Blazor
- Drools規則引擎實踐直白總結
- 規則引擎開發經驗分享 - reddit