1

私は一連の数値に計算を適用するシステムを導入しています (詳細はあまり関係ありません)。システムユーザーが適用できる計算セットが多数あり、新しいセットが頻繁に追加されます。現在、新しい計算セットをシステムに追加する必要がある場合、それらはコード ベースに追加され、システムの新しいバージョンがリリースされます。まったく新しいバージョンをリリースすることなく、新しい計算セットをシステムに追加できるようにしたいと考えています。また、これらの新しい計算がシステム ユーザーに自動的に表示されるようにしたいと考えています。現在、計算セットごとに新しい関数が作成され、適切な関数名を含むレコードがシステム テーブルに追加されます。これらのレコードは、リストからそれらを選択するシステム ユーザーに表示されます (関数名にはもちろんエイリアスが付けられます!)。

これは私が継承した VB6/Access アプリで、現在 VB.NET と SQL Server で書き直しています。

これを行う最善の方法についてアドバイスはありますか?

4

2 に答える 2

3

.Net でやり直すので、計算をプラグインに入れるだけです。リフレクションを使用して、実行時にこれらのアセンブリを読み込んで調べ、ユーザーに関数を提示します。

Divil には、プラグイン ベースのアプリケーションの作成に関する優れた (ただし、かなり古い) 記事があります。それはあなたを助けるでしょう:http : //divil.co.uk/net/articles/plugins/plugins.asp(+それはVB.Netにあります)

このようにすると、dll を適切なディレクトリにドロップするだけで機能します。

于 2008-10-03T13:33:32.443 に答える
0

標準の数学関数のセットを使用している場合は、ユーザーが独自の数学関数をテキストボックスに記述できるようにすることができます。

次に、 CodeProjectのTinyPG などの文法パーサーを使用します

これにより、式を次のように分解できます。逆ポーランド記法
これは、データベースのvarcharフィールドに簡単に保存して呼び出すことができます。

これが設定されると、新しい数学機能を追加する必要がない限り、アプリケーションを再公開する必要はありません。

于 2008-10-03T13:44:33.843 に答える