Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 54363|Jawab: 1

[Sumber] Tutorial .NET/C# Rule Engine RulesEngine

[Salin tautan]
Diposting pada 29/03/2021 13.56.10 | | | |
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, silakanJawab






Mantan:Masalah watermarking .NET Core pada gambar Linux
Depan:.NET menetapkan versi SDK default
 Tuan tanah| Diposting pada 30/08/2023 18.51.41 |
Editor Mesin Aturan:Login hyperlink terlihat.
Demo Online Editor Mesin Aturan:Login hyperlink terlihat.

Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com