私は、注文ポータルを支援するために、ルールエンジンの実装のプロトタイプを作成中です。たとえば、アイテムの割引を提供したり、特定のアイテムを注文した場合に承認を要求したりします。また、金額、ユーザー階層の位置に関するルールを追加し、1つ以上のクライアントに適用できるようにしたいと考えています。
WWFはこのニーズに対する良い答えだと思います。
とはいえ、もっと複雑なルールを設定するのに最適な方法を見つけるのは少し難しいです。次のように、LINQクエリで最もよく説明されていると感じる「条件」があります。
var y = from ol in currentOrder.OrderLines where ol.ItemCode == "MYITEMCODE" select ol;
ルールエンジンに別のフレームワークを使用したり、オブジェクト(例:など)にプロパティやメソッドを追加OrderHasItem(ItemCode)
してこれらのルールをより単純化することに反対していませんが、そうする必要はありません。新しいルールのコード変更を潜在的に要求するという道を私たちに強いるという点で、それは自滅的だと感じています。