RulesEngine to biblioteka/pakiet NuGet używany do abstrakcji logiki biznesowej/reguł/polityk z systemu. Może to działać bardzo prosto, umożliwiając umieszczanie reguł w pamięci poza podstawową logiką systemu, zapewniając, że wszelkie zmiany w regułach nie wpływają na system podstawowy.
Dostępne scenariusze:
- Liczba typów wejść i wyjścia jest stosunkowo stała, ale logika wykonania często się zmienia.
- warunki przełącznika często się zmieniają, a złożone instrukcje przełączania są zastępowane;
- logika biznesowa z wieloma warunkami lub zasadami, które się zmieniają;
- Scenariusze, w których reguła wolności nie wymaga szczególnie wysokich stopni swobody. (W takim przypadku zaleca się użycie silnika skryptowego)
Reguły RulesEngine są przechowywane w JSON, a reguły (Rules) wyrażane są w wyrażeniach lambda.
Adres GitHub:Logowanie do linku jest widoczne.
Adres dokumentu:Logowanie do linku jest widoczne.(Osobiście uważam, że dokumentacja jest dość niejasna, a niektóre użycie nie jest wyjaśnione zbyt jasno)
Najpierw stwórz nowy projekt konsoli .NET Core 3.1 i użyj polecenia nuget do zainstalowania pakietu, w następujący sposób:
Utwórz nowy plik regułowy :Rules.json ustawiony na kopiowanie do katalogu wyjściowego.
Konfiguracja wygląda następująco:
Spróbuj uruchomić program i wynik jest następujący:
Workflow customTest wywoła naszą funkcję C#, aby zweryfikować reguły, zauważ, że podczas instancji obiektu RulesEngine musimy dodać ReSettings, aby normalnie wykonać metodę C#.
Wśród nich,Zbiory walidacyjne są bardziej abstrakcyjne do zrozumienia, będzie używać localParams, słowo kluczowe zmiennej lokalnej to localParams, które można po prostu rozumieć jako nazwa zmiennika = wyrażenie
Pełny kod brzmi następująco:
Pobranie kodu źródłowego:
Turyści, jeśli chcecie zobaczyć ukrytą zawartość tego wpisu, proszę Odpowiedź
|