質問
私は少し前に、デシジョン ツリーとデシジョン テーブルについて学びました。デシジョンテーブルは条件付きの If-Then-Else ステートメントに役立つと思います。特に、デシジョンテーブルには副作用がないと思います。たとえば、「else if」ステートメントがもう 1 つ必要であることに気づかなかった場合などです。
しかし、どのように実装すればよいのかわかりません。配列?データベーステーブル?今、コード内でデシジョンテーブルを使用している人はいるでしょうか?
解決
18章を強くお勧めします コードの完成.
この投稿もチェックしてください テーブル駆動メソッドとは
他のヒント
まあ、私は自分で調べました:S
- これは IBMから何か テストシナリオの作成に使用されるデシジョンテーブルについて
- これはある会社からのものです 意思決定表を作成する その後、vb.net の if-then-else ステートメントに変換されます。
- オープンソースの Ruby ワークフローと BPM エンジン デシジョンテーブルを使用します。
それで、私はまだ探しています。誰かが良い答えを持っている場合は、入力してください。
マルチプラットフォームの CCIDE-0.5.0-6 (またはそれ以降) は、SourceForge および Github で入手できます。
次の Web ページを参照してください。 http://twysf.users.sourceforge.net/
テーブル駆動メソッドでは、if-then ステートメントの代わりにデータ構造を使用してプログラム ロジックを駆動します。たとえば、2 種類のレコード (テレビとケーブル) を処理している場合は、次のようにします。
ハッシュ[テレビ] = processTvRecords
ハッシュ[ケーブル] = プロセスケーブルレコード
Ruby や Perl などの一部の言語では、この手法は簡単です。Java では、Reflection を使用してメソッド ハンドルを見つける必要があります。
デシジョンテーブルについて知りたい場合は、次の場所でフィットネス テスト フレームワークを調べてください。 http://フィットネス.org/.
私がこれまでに見たデシジョンテーブルの最も優れた実装は、Prologa と呼ばれるアプリケーションです。これは、次の場所からダウンロードできます。 http://www.econ.kuleuven.be/prologa. 。残念ながら、これは Windows でのみ利用可能であり、評価キーを待つ間に少し時間がかかる場合があります。
このソフトウェアは非バイナリ条件を処理し、同様のルールを折りたたむことができ、テーブルが現在カバーしている組み合わせの数を実際に追跡するため、特に大きなテーブルの完全性チェックに最適です。ネストされたテーブルも適切に処理します (あるテーブルの結果が別のテーブルの条件になる可能性があります)。