私は以前に同様の質問をしましたが、それを言語固有の質問として提起しました。私の問題はモデリングレベルにあることに気づきました。
オブジェクトモデルで次のことをどのように表現すればよいですか。
私は持っています:
- データオブジェクト
- パラメータオブジェクト
- ルールオブジェクト
ルールは、受け取るデータオブジェクトを変更する方法を指定します。追加のパラメーターを完全に定義する必要があります。ルールは他のルールを使用する場合があります(内部でそれらを参照するか、パラメーターオブジェクトでそうするように指示されます)。
ルールは、誰かが解析する必要のあるカスタム言語で書かれていません。むしろ、実行する必要のあるコードで構成されているだけです。これは、設計前の実装ソリューションのように聞こえるかもしれませんが、実際には要件の1つです(システムユーザーは、独自のルールを記述してシステムに簡単に追加できるようにしたいプログラマーです)。
主なアクティビティは、データオブジェクト、パラメータオブジェクト、およびルールオブジェクトが出会ったときに発生します。その時点で、データオブジェクトが変更されます。
ユーザーは、どのルール、どのパラメーター、およびどのデータオブジェクトを満たしたいかをシステムに通知し、変更されたデータオブジェクトを取り戻すことを期待します。
アップデート:
データオブジェクトの例:
すべてのデータオブジェクトは、SQLテーブルとして論理的に表すことができます。
データオブジェクトID#7:SQLテーブル
データオブジェクトID#13:SQLテーブル
パラメータオブジェクトの例:
すべてのパラメータオブジェクトのレイアウトは同じです。テキストファイルで、各行は次のようになります。
<PARAMETER_NAME>
=<VALUE>
パラメータオブジェクトID#52:
RULE='回帰'
データID=7
Y='コスト'
X='最大速度'
R='コスト見積もりのエラー'
パラメータオブジェクト#59:
RULE='平均'
データID=13
COLUMNS ='最小速度'、'最大速度'
AVERAGE='平均速度'
ルールオブジェクトの例:
ルールオブジェクト'回帰':
線形回帰を実行します。'Y'および'X'という名前のパラメーターは、従属変数および独立変数として使用される列名を指定します。'R'という名前のパラメーターは、回帰からの残差を含むテーブルに追加される列名を指定します。
ルールオブジェクト'平均':
パラメーター'COLUMNS'にリストされている列に指定されている数値の平均を計算し、その結果をパラメーター'AVERAGE'に指定されている列に保管します。