RulesEngine on raamatukogu/NuGet pakett, mida kasutatakse äriloogika/reeglite/poliitikate abstraktseks võtmiseks süsteemist. See võib toimida väga lihtsal viisil, võimaldades sul panna reegleid salvestusse väljaspool süsteemi põhiloogikat, tagades, et reeglite muudatused ei mõjuta põhisüsteemi.
Rakendatavad stsenaariumid:
- Sisend- ja väljundtüüpide arv on suhteliselt fikseeritud, kuid täitmisloogika muutub sageli.
- Lülitustingimused muutuvad sageli ja keerukad lülitusväited asendatakse;
- äriloogika mitme tingimuse või reegliga, mis muutuvad;
- Olukorrad, kus reeglite vabadus ei nõua eriti kõrgeid vabadusastmeid. (Sellisel juhul soovitatakse skriptimismootor)
RulesEngine'i reeglid salvestatakse JSON-i ning reeglid (Reeglid) väljendatakse lambda avaldistes.
GitHubi aadress:Hüperlingi sisselogimine on nähtav.
Dokumendi aadress:Hüperlingi sisselogimine on nähtav.(Isiklikult tunnen, et dokumentatsioon on veidi ebamäärane ja osa kasutusest pole liiga selgelt selgitatud)
Esiteks loo uus .NET Core 3.1 konsooliprojekt ja kasuta nuget käsku paketi paigaldamiseks järgmiselt:
Loo uus reeglifail :Rules.json seadista kopeerima väljundkausta.
Konfiguratsioon on järgmine:
Proovi programmi käivitada ja väljund on järgmine:
customTest töövoog kutsub meie C# funktsiooni, et reegleid valideerida, pane tähele, et RulesEngine objekti käivitamisel tuleb lisada ReSettings, et täita C# meetodit tavapäraselt.
Nende seas,Valideerimiskomplektid on abstraktsemad mõista, kasutab localParams'i, lokaalmuutuja märksõnaks on localParams, mida saab lihtsalt mõista kui var name = avaldis
Täiskood on järgmine:
Lähtekoodi allalaadimine:
Turistid, kui soovite näha selle postituse peidetud sisu, palun Vastuse
|