"RulesEngine" yra biblioteka/"NuGet" paketas, naudojamas verslo logikai/taisyklėms/strategijoms iš sistemos abstrahuoti. Tai gali veikti labai paprastai, nes galite įdėti taisykles į saugyklą už pagrindinės sistemos logikos ribų, užtikrinant, kad bet kokie taisyklių pakeitimai neturės įtakos pagrindinei sistemai.
Taikomi scenarijai:
- Įvesties ir išvesties tipų skaičius yra gana fiksuotas, tačiau vykdymo logika dažnai keičiasi.
- perjungimo sąlygos dažnai keičiasi, o sudėtingi jungiklių teiginiai yra pakeisti;
- verslo logika su keliomis sąlygomis ar taisyklėmis, kurios keisis;
- Scenarijai, kai taisyklių laisvė nereikalauja ypač didelio laisvės laipsnio. (Šiuo atveju rekomenduojamas scenarijų modulis)
RulesEngine taisyklės saugomos JSON, o taisyklės (Taisyklės) išreiškiamos lambda išraiškomis.
"GitHub" adresas:Hipersaito prisijungimas matomas.
Dokumento adresas:Hipersaito prisijungimas matomas.(Aš asmeniškai manau, kad dokumentacija yra šiek tiek neaiški, o kai kurie vartojimai nėra pernelyg aiškiai paaiškinti)
Pirmiausia sukurkite naują .NET Core 3.1 konsolės projektą ir naudokite komandą nuget, kad įdiegtumėte paketą, kaip nurodyta toliau:
Sukurkite naują taisyklės failą:Rules.json kurį nustatytumėte kopijuoti į išvesties katalogą.
Konfigūracija yra tokia:
Pabandykite paleisti programą ir išvestis bus tokia:
"customTest" darbo eiga iškvies mūsų C# funkciją, kad patvirtintų taisykles, atkreipkite dėmesį, kad kurdami "RulesEngine" objektą, turime pridėti "ReSettings", kad galėtume įprastai vykdyti C# metodą.
Tarp jų,Patvirtinimo rinkiniai yra abstraktesni, kad būtų suprantami, naudos localParams, vietinio kintamojo raktažodis yra localParams, kurį galima suprasti tiesiog kaip var name = išraiška
Visas kodas yra toks:
Šaltinio kodo atsisiuntimas:
Turistai, jei norite pamatyti paslėptą šio įrašo turinį, prašome Atsakyti
|