8 つの共依存条件のかなり大きなセットに基づいて決定を下す必要があります。
| A | B | C | D | E | F | G | H
-----------+---+---+---+---+---+---+---+---
Decision01 | 0 | 1 | - | 1 | 0 | 1 | - | 1
Decision02 | 1 | 0 | - | 0 | 0 | - | 1 | -
...
Decision11 | 1 | 0 | 1 | 1 | 1 | - | 1 | 1
A から H までの各条件は、判定に真 (1)、偽 (0)、または無関係 (-) のいずれかになります。
したがって、与えられた入力で
A B C D E F G H
1 0 1 0 0 1 1 1
Decision02 に評価される必要があります。
決定は明確であるため、入力条件の任意のセットから、どの決定を行う必要があるかが明確になります (決定マトリックスでカバーされていない場合は、例外がスローされます)。
このプロジェクトで私の前に働いていた開発者は、これを 500 行の長さのネストされたものとして実装しようとしました。
そこで、そのようなロジックを実装する最善の方法を探したところ、意思決定テーブル/ルックアップ テーブル/コントロール テーブルにたどり着きました。
私は多くの意思決定表ジェネレーターを見つけましたが、意思決定プロセスを実装する方法に関する単一のコードはありません:(
基礎となる MSSQL データベース、コード、xml、またはそれが必要とするものなら何でも、デシジョン テーブルを作成できます。これを実装する方法について、いくつかの指針が必要です。
このロジックを実装するためのベスト プラクティスは何ですか? 辞書?多次元配列?全然違うもの?