この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 54363|答える: 1

[出典] .NET/C# ルールエンジン RulesEngine チュートリアル

[リンクをコピー]
掲載地 2021/03/29 13:56:10 | | | |
RulesEngineは、ビジネスロジックやルール、ポリシーをシステムから抽象化するためのライブラリ/NuGetパッケージです。 これは、ルールをシステムのコアロジック外にストレージに置くことで、ルールの変更がコアシステムに影響を与えないようにすることで非常にシンプルに機能します。

適用可能なシナリオ:

  • 入力型と出力型の数は比較的固定されていますが、実行ロジックは頻繁に変わります。
  • スイッチ条件は頻繁に変化し、複雑なスイッチ文は置き換えられます。
  • 複数の条件やルールが変化するビジネスロジック;
  • 規則の自由度が特に高い自由度を必要としないシナリオ。 (この場合、スクリプトエンジンの使用が推奨されます)


RulesEngineのルールはJSONに保存され、ルール(Rules)はラムダ式で表現されます。

GitHubアドレス:ハイパーリンクのログインが見えます。

書類住所:ハイパーリンクのログインが見えます。(個人的にはドキュメントが少し曖昧で、使い方があまり明確に説明されていないと感じます)

まず、新しい.NET Core 3.1コンソールプロジェクトを作成し、nugetコマンドを使ってパッケージをインストールします。以下のように。

新しいルールファイルを作成し:Rules.json出力ディレクトリにコピーします。

構成は以下の通りです:

プログラムを実行してみると、出力は以下の通りです:



customTestのワークフローはC#関数を呼び出してルールを検証します。RulesEngineオブジェクトをインスタンス化する際には通常C#メソッドを実行するためにReSetを追加する必要があることに注意してください。

その中で検証集合は理解しやすい抽象的ですはlocalParamsを使い、ローカル変数のキーワードはlocalParamsで、var name = expressionと簡単に理解できます

完全なコードは以下の通りです。

ソースコードダウンロード:

観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ答える






先の:Linux画像における.NET Coreの透かし問題
次に:.NET はデフォルトのSDKバージョンを設定します
 地主| 掲載地 2023/08/30 18:51:41 |
ルールエンジンエディター:ハイパーリンクのログインが見えます。
ルールエンジンエディターオンラインデモ:ハイパーリンクのログインが見えます。

免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com