データ駆動型のステートマシンのアプリケーション
-
21-08-2019 - |
質問
私たちは現在、「データ駆動型」のステートマシンのアプリケーションに取り組んでいます。今、状態の流れは、すべてのデータベースに設定されているが、決定/ビジネスロジックのどれもが私たちの現在のデザインをDBで設定されていません。このため、コードは基本的に同様の状態の流れを「知る」ことがあるので、データベース内の流れを設定するにはポイントは本当にありません。
私たちは、依存性注入を使用して一緒状態パターンを配線できるようになる念頭に置いて設計(Spring.NET)を持っているが、私は、このデータ駆動型を作るための最善の方法のかわかりません。私は、データベース内(クラスやメソッド名などの)コードのようなものを設定するの大ファンではないんだけど、私が考えているデザインは、春のXML内の配線に似DB内のアプリケーションを(アップ配線する私たちを必要としますファイル)ので、それが悪いようです。
私たちは、Windows WFを用いて調査しましたが、私たちはWFの将来について少し心配だと思う、これはそれを採用しても良い時間であるかどうか。私は、ルール・エンジンを扱ったことがないので、それはここでいくつかの使用であるかもしれない場合、私は思ったんだけど。誰もがこれを実装する方法上の任意の提案を持っていますか?
解決
あなたの最善の策は、それらを実行するために使用される技術からのデータに保存された行動を切り離すことはおそらくです。
これを行う方法は、DSL(ドメイン固有言語)です。 、抽象的(すなわち、マイクロ言語)にあなたのテーブルにその店舗の文字列を、ビジネス・ロジックを表し、コードでのインタプリタを実装することができます形式を思い付きます。あなたの基本的な技術が変化した場合にその方法は、あなただけのインタプリタを再実装する必要があります。
私は1980年代半ばにこの手法を使用するアプリケーションに取り組んで、それが必要なビジネス・ルールへの唯一のマイナー(とautomatible)の変化で数回移植されています。