RulesEngine е пакет библиотека/NuGet, използван за абстрахиране на бизнес логика/правила/политики от системата. Това може да работи по много прост начин, като ви позволява да поставяте правила в хранилище извън основната логика на системата, като гарантирате, че всякакви промени в правилата не влияят на основната система.
Приложими сценарии:
- Броят на входните и изходните типове е относително фиксиран, но логиката на изпълнение се променя често.
- условията на превключвателя се променят често, а сложните оператори се заменят;
- бизнес логика с множество условия или правила, които ще се променят;
- Сценарии, в които свободата не изисква особено високи степени на свобода. (В този случай се препоръчва скриптов енджин)
Правилата на RulesEngine се съхраняват в JSON, а правилата (Правилата) са изразени в ламбда изрази.
GitHub адрес:Входът към хиперлинк е видим.
Адрес на документа:Входът към хиперлинк е видим.(Лично аз смятам, че документацията е малко неясна, а някои употреби не са обяснени много ясно)
Първо, създайте нов конзолен проект за .NET Core 3.1 и използвайте командата nuget, за да инсталирате пакета, както следва:
Създайте нов файл с правила :Rules.json настроя да копира в изходната директория.
Конфигурацията е следната:
Опитайте да стартирате програмата и резултатът е следният:
Работният процес customTest ще извика нашата C# функция, за да валидира правилата, имайте предвид, че при инстанциране на обекта RulesEngine трябва да добавим ReSettings, за да изпълним нашия C# метод нормално.
Сред тях,Валидационните набори са по-абстрактни за разбиране, ще използва localParams, ключовата дума на локалната променлива е localParams, която може просто да се разбере като var name = израз
Пълният код е следният:
Изтегляне на изходния код:
Туристи, ако искате да видите скритото съдържание на този пост, моля Отговор
|