RulesEngine adalah paket pustaka/NuGet yang digunakan untuk mengabstraksi logika/aturan/kebijakan bisnis dari sistem. Ini dapat bekerja dengan cara yang sangat sederhana dengan memungkinkan Anda menempatkan aturan dalam penyimpanan di luar logika inti sistem, memastikan bahwa setiap perubahan pada aturan tidak memengaruhi sistem inti.
Skenario yang berlaku:
- Jumlah jenis input dan output relatif tetap, tetapi logika eksekusi sering berubah.
- kondisi sakelar sering berubah, dan pernyataan sakelar kompleks diganti;
- logika bisnis dengan berbagai kondisi atau aturan yang akan berubah;
- Skenario di mana kebebasan aturan tidak membutuhkan tingkat kebebasan yang sangat tinggi. (Dalam hal ini, mesin skrip direkomendasikan)
Aturan RulesEngine disimpan dalam JSON, dan aturan (Aturan) dinyatakan dalam ekspresi lambda.
Alamat GitHub:Login hyperlink terlihat.
Alamat dokumen:Login hyperlink terlihat.(Saya pribadi merasa bahwa dokumentasinya agak kabur, dan beberapa penggunaan tidak dijelaskan terlalu jelas)
Pertama, buat proyek konsol .NET Core 3.1 baru dan gunakan perintah nuget untuk menginstal paket, sebagai berikut:
Buat file aturan baru :Rules.json diatur untuk menyalin ke direktori output.
Konfigurasinya adalah sebagai berikut:
Coba jalankan program dan outputnya adalah sebagai berikut:
Alur kerja customTest akan memanggil fungsi C# kita untuk memvalidasi aturan, perhatikan bahwa saat membuat instance objek RulesEngine, kita perlu menambahkan ReSettings untuk mengeksekusi metode C# kita secara normal.
Di antara mereka,Set validasi lebih abstrak untuk dipahami, akan menggunakan localParams, kata kunci variabel lokal adalah localParams, yang dapat dipahami dengan mudah sebagai nama var = ekspresi
Kode lengkapnya adalah sebagai berikut:
Unduhan kode sumber:
Wisatawan, jika Anda ingin melihat konten tersembunyi dari posting ini, silakan Jawab
|