私は、 'A Disallows B'または 'X Requires Y'という形式のルールを適用して、複雑なアイテムを設定できるアプリケーションを作成するソフトウェアを開発してきました。構成ルールエンジン - 代替案?
さらに詳しく説明すると、いくつかのサブフォルダを持ち、それぞれのサブフォルダにはいくつかの項目があります。目的は、ユーザーが選択の有効なコレクションを作成するのに役立つ方法でアイテム間の関係を表現することです。
したがって、実際のルールは、ユーザーがA、B、Cを選択した場合、ユーザーが選択できない「All(A、B、C)Disallows Any(X、Y、Z) X、Y、Zのいずれかです。基本的にブール論理です。
「A」を選択してから「B」を選択する必要がありますが、そのすべての詳細を調べる価値はありません。
ビジネスロジックではありません(少なくとも通常の意味ではありません)。ルールはいつでも変更可能であり、文字列から読み込んで解釈するか、複雑なデータベース構造を使用する必要があります私は離れて滞在することを好むだろう)。
実際のところ、この種の実行時動作を扱うシステムやフレームワークはありますか? Oracleには、私が話していることを正確に実行する「Oracle Configurator」というものがありますが、私はそれほど高価ではありません。
プロジェクトはほぼ終了しました。私は「働く」システムを構築しましたが、それはより早く/より速く/より安価に行われたかどうかを調べるために死刑執行を試みています。
私はまだ詳細をすべて取り上げていませんが、Prologについて読んだ後、いくつかの単純なKBで遊んだ後、多くの約束事を示しています。私はそれを見て、読んでいくために2冊の本をつかむつもりです。その間、チェックマークをお楽しみください! –