RulesEngine, sistemden iş mantığını/kurallarını/politikalarını soyutlamak için kullanılan bir kütüphane/NuGet paketidir. Bu, kuralları sistemin çekirdek mantığının dışında depoya yerleştirmenize olanak tanıyarak çok basit bir şekilde çalışabilir; böylece kurallardaki herhangi bir değişiklik çekirdek sistemi etkilemez.
Uygulanabilir senaryolar:
- Giriş ve çıkış türlerinin sayısı nispeten sabittir, ancak yürütme mantığı sık sık değişir.
- Anahtar koşulları sık sık değişir ve karmaşık anahtar ifadeleri değiştirilir;
- değişecek birden fazla koşul veya kurala sahip iş mantığı;
- Kural özgürlüğünün özellikle yüksek dereceler gerektirmediği senaryolar. (Bu durumda, bir script motoru önerilir)
RulesEngine'in kuralları JSON'da saklanır ve kurallar (Rules) lambda ifadeleriyle ifade edilir.
GitHub adresi:Bağlantı girişi görünür.
Belge adresi:Bağlantı girişi görünür.(Şahsen belgelerin biraz belirsiz olduğunu ve bazı kullanımların çok net açıklanmadığını düşünüyorum)
İlk olarak, yeni bir .NET Core 3.1 konsol projesi oluşturun ve paketi aşağıdaki şekilde nuget komutunu kullanarak kurulum yapın:
Yeni bir kural dosyası oluşturun :Rules.json çıktı dizinine kopyalamak için ayarlanın.
Konfigürasyon şöyledir:
Programı çalıştırmayı deneyin ve çıktı şu şekildedir:
customTest iş akışı kuralları doğrulamak için C# fonksiyonumuzu çağıracak, RulesEngine nesnesini örneklerken C# yöntemimizi normal şekilde çalıştırmak için ReSettings eklememiz gerektiğini unutmayın.
Bunlar arasında,Doğrulama kümeleri daha soyut anlaşılır, localParams kullanır, yerel değişkenin anahtar kelimesi localParams'tır ve bu basitçe var name = ifade olarak anlaşılabilir
Tam kod şu şekildedir:
Kaynak kodu indirme:
Turistler, bu gönderinin gizli içeriğini görmek isterseniz lütfen Yanıt
|