RulesEngine je knjižnica/paket NuGet, ki se uporablja za abstraktno izločanje poslovne logike/pravil/politik iz sistema. To lahko deluje zelo preprosto, saj omogoča shranjevanje pravil zunaj osnovne logike sistema, s čimer zagotovite, da spremembe pravil ne vplivajo na osnovni sistem.
Primerni scenariji:
- Število vhodnih in izhodnih vrst je razmeroma fiksno, vendar se logika izvajanja pogosto spreminja.
- pogoji stikala se pogosto spreminjajo, zapletene stavbe za stikala pa se zamenjajo;
- poslovna logika z več pogoji ali pravili, ki se bodo spreminjala;
- Scenariji, kjer svoboda pravila ne zahteva posebej visokih stopenj svobode. (V tem primeru je priporočljiv skriptni pogon)
Pravila RulesEngine so shranjena v JSON, pravila (Rules) pa so izražena v lambda izrazih.
GitHub naslov:Prijava do hiperpovezave je vidna.
Naslov dokumenta:Prijava do hiperpovezave je vidna.(Osebno menim, da je dokumentacija nekoliko nejasna in da nekateri izrazi niso dovolj jasno pojasnjeni)
Najprej ustvarite nov .NET Core 3.1 konzolni projekt in uporabite ukaz nuget za namestitev paketa, kot sledi:
Ustvarite novo datoteko s pravili :Rules.json nastavljeno tako, da se kopira v izhodno mapo.
Konfiguracija je naslednja:
Poskusite zagnati program in izhod je naslednji:
Potek dela customTest bo poklical našo C# funkcijo za preverjanje pravil, pri čemer moramo ob instanciranju objekta RulesEngine dodati ReSettings, da se metoda C# izvaja normalno.
Med njimi,Validacijske množice so bolj abstraktne za razumevanje, bo uporabil localParams, ključna beseda lokalne spremenljivke je localParams, ki jo lahko preprosto razumemo kot ime var = izraz
Celotna koda je naslednja:
Prenos izvorne kode:
Turisti, če želite videti skrito vsebino te objave, prosim Odgovoriti
|