RulesEngine ir bibliotēka/NuGet pakotne, ko izmanto, lai abstrahētu biznesa loģiku/noteikumus/politikas no sistēmas. Tas var darboties ļoti vienkārši, ļaujot jums ievietot noteikumus krātuvē ārpus sistēmas pamatloģikas, nodrošinot, ka jebkādas izmaiņas noteikumos neietekmē pamatsistēmu.
Piemērojamie scenāriji:
- Ievades un izvades tipu skaits ir salīdzinoši nemainīgs, bet izpildes loģika bieži mainās.
- slēdžu apstākļi bieži mainās, un tiek aizstāti sarežģīti slēdžu priekšraksti;
- biznesa loģika ar vairākiem nosacījumiem vai noteikumiem, kas mainīsies;
- Scenāriji, kuros noteikumu brīvība neprasa īpaši augstu brīvības pakāpi. (Šajā gadījumā ieteicams izmantot skriptēšanas programmu)
RulesEngine noteikumi tiek glabāti JSON, un noteikumi (Noteikumi) tiek izteikti lambda izteiksmēs.
GitHub adrese:Hipersaites pieteikšanās ir redzama.
Dokumenta adrese:Hipersaites pieteikšanās ir redzama.(Man personīgi šķiet, ka dokumentācija ir mazliet neskaidra, un daži lietojumi nav pārāk skaidri izskaidroti)
Vispirms izveidojiet jaunu .NET Core 3.1 konsoles projektu un izmantojiet komandu nuget, lai instalētu pakotni, kā norādīts tālāk.
Izveidojiet jaunu kārtulas failu:Rules.json iestatīts kopēšanai izvades direktorijā.
Konfigurācija ir šāda:
Mēģiniet palaist programmu, un izvade ir šāda:
CustomTest darbplūsma izsauks mūsu C# funkciju, lai apstiprinātu noteikumus, ņemiet vērā, ka, instancējot RulesEngine objektu, mums ir jāpievieno ReSettings, lai normāli izpildītu mūsu C# metodi.
Starp tiemValidācijas kopas ir abstraktākas, lai tās saprastu, izmantos localParams, vietējā mainīgā atslēgvārds ir localParams, ko var vienkārši saprast kā var nosaukums = izteiksme
Pilns kods ir šāds:
Avota koda lejupielāde:
Tūristi, ja vēlaties redzēt šīs ziņas slēpto saturu, lūdzu Atbildi
|