Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 54363|Svar: 1

[Källa] .NET/C# Regelmotor RulesEngine-handledning

[Kopiera länk]
Publicerad på 2021-03-29 13:56:10 | | | |
RulesEngine är ett bibliotek/NuGet-paket som används för att abstrahera affärslogik/regler/policyer från systemet. Detta kan fungera på ett mycket enkelt sätt genom att göra det möjligt att placera regler i lagring utanför systemets kärnlogik, vilket säkerställer att eventuella ändringar i reglerna inte påverkar kärnsystemet.

Tillämpliga scenarier:

  • Antalet in- och utdatatyper är relativt fast, men exekveringslogiken ändras ofta.
  • Switchförhållandena ändras ofta och komplexa switch-uttalanden ersätts;
  • affärslogik med flera villkor eller regler som kommer att ändras;
  • Scenarier där regelfriheten inte kräver särskilt höga frihetsgrader. (I detta fall rekommenderas en skriptmotor)


Reglerna i RulesEngine lagras i JSON, och reglerna (reglerna) uttrycks i lambda-uttryck.

GitHub-adress:Inloggningen med hyperlänken är synlig.

Dokumentadress:Inloggningen med hyperlänken är synlig.(Jag tycker personligen att dokumentationen är lite vag och att vissa användningar inte förklaras särskilt tydligt)

Skapa först ett nytt .NET Core 3.1-konsolprojekt och använd nuget-kommandot för att installera paketet, enligt följande:

Skapa en ny regelfil :Rules.json ställ in att kopiera till utdatakatalogen.

Konfigurationen är följande:

Försök köra programmet och resultatet är följande:



CustomTest-arbetsflödet kommer att anropa vår C#-funktion för att validera reglerna, observera att när vi instansierar RulesEngine-objektet måste vi lägga till ReSettings för att köra vår C#-metod normalt.

Bland dem,Valideringsmängder är mer abstrakta att förstå, kommer att använda localParams, nyckelordet för den lokala variabeln är localParams, vilket enkelt kan förstås som var-namn = uttryck

Den fullständiga koden är som följer:

Källkodsnedladdning:

Turister, om ni vill se det dolda innehållet i detta inlägg, snällaSvar






Föregående:.NET Core-vattenmärkningsproblem på Linux-bilder
Nästa:.NET sätter standardversionen av SDK
 Hyresvärd| Publicerad på 2023-08-30 18:51:41 |
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com