j-easy/easy-rules: Java簡單的規則引擎
Easy Rules 是一個簡單而強大的 Java 規則引擎,提供以下功能:
- 輕量級框架和易於學習的 API
- 基於 POJO 的開發
- 有用的抽象來定義業務規則並輕鬆應用它們
- 從原始規則建立複合規則的能力
- 使用表示式語言(如 MVEL、SpEL 和 JEXL)定義規則的能力
您可以自己構建一個簡單的規則引擎。您只需要建立一堆具有條件和操作的物件,將它們儲存在一個集合中,然後執行它們以評估條件並執行操作。
這正是 Easy Rules 所做的,它提供了Rule建立具有條件和操作的規則的抽象,以及RulesEngine貫穿一組規則以評估條件和執行操作的 API。
核心功能
- 輕量級庫和易於學習的 API
- 基於 POJO 的開發,帶有註釋程式設計模型
- 用於定義業務規則並使用 Java 輕鬆應用它們的有用抽象
- 從原始規則建立複合規則的能力
- 使用表示式語言(如 MVEL、SpEL 和 JEXL)定義規則的能力
定義程式碼:
@Rule(name = "weather rule", description = "if it rains then take an umbrella") public class WeatherRule { @Condition public boolean itRains(@Fact("rain") boolean rain) { return rain; } @Action public void takeAnUmbrella() { System.out.println("It rains, take an umbrella!"); } } |
使用:
Rule weatherRule = new RuleBuilder() .name("weather rule") .description("if it rains then take an umbrella") .when(facts -> facts.get("rain").equals(true)) .then(facts -> System.out.println("It rains, take an umbrella!")) .build(); |
測試:
public class Test { public static void main(String[] args) { // define facts Facts facts = new Facts(); facts.put("rain", true); // define rules Rule weatherRule = ... Rules rules = new Rules(); rules.register(weatherRule); // fire rules on known facts RulesEngine rulesEngine = new DefaultRulesEngine(); rulesEngine.fire(rules, facts); } } |
相關文章
- 用 Java 構建簡單的規則引擎Java
- Drools規則引擎簡介
- Java中最流行的幾種業務規則引擎簡介Java
- Java規則引擎 Easy RulesJava
- Java各種規則引擎Java
- Evrete 規則引擎簡介 | baeldungVR
- 如何編寫一個簡單但強大的規則引擎? – maxant
- 如何學習Java的規則引擎模式? - plagovJava模式Go
- uwegeercken/jare:Java業務規則引擎(Jare)JARJava
- URule規則引擎
- 在Java中用規則引擎模式替代ifelse - VitaliJava模式
- .NET RulesEngine(規則引擎)
- 規則引擎模式 - upperdine模式
- 風控規則引擎(一):Java 動態指令碼Java指令碼
- Java簡單四則運算Java
- Drools 規則引擎應用
- 架構 規則引擎 quartz架構quartz
- 撰寫論文的十個簡單規則 | PLOS
- Drools 業務規則引擎的完整教程
- 規則引擎在IoT的重要性?
- 規則引擎Golang指南 – Mohit KhareGolang
- 什麼是規則引擎? - martinfowler
- 規則引擎與ML模型的比較 - xLaszlo模型
- 數字化轉型中的規則引擎
- 一個規則引擎的視覺化方案視覺化
- 快速整合和使用 drools 規則引擎
- 全渠道營銷規則引擎案例
- 什麼是業務規則引擎?
- 簡單分析執行緒獲取ReentrantReadWriteLock 讀鎖的規則執行緒
- 通過規則引擎跟蹤Java執行狀態的檢測工具:BytemanJava
- 基於 XAF Blazor 的規則引擎編輯器Blazor
- 規則引擎整合新的可觀測性框架框架
- 規則引擎模式的.NET開源專案案例模式
- .NET 6中使用Jint的JavaScript規則引擎JavaScript
- microsoft/RulesEngine:基於 Json的C#規則引擎ROSJSONC#
- 基於Groovy的規則指令碼引擎實戰指令碼
- Spring Boot + liteflow 規則引擎,太香了!Spring Boot
- 如何用Go快速實現規則引擎Go