2011-12-29 4 views
0

VB.Netのソフトウェアで作業をしているところで、情報をスクラップしてルールに従って処理する必要があります。たとえば、特定のフィールドに対して「Det」を「Detached」にする、またはスプリット/結合ルール、基本的な文字列操作などの単純な文字列置換ルール。すべての私の掻き回しルールはRegExであり、私はさまざまな状況のルールセットの行のデータベースにそれらを保存します。概念/ルールの実装/文字列の操作

テキストを操作するためのルールを作成/保存する最善の方法は何ですか?私は、ソフトウェアにルールをハードコードするのではなく、むしろそれらに必要があるように追加することができます。私はそれらをデータベースに保存したいのですが、どのようにそれらを解釈するのですか?私はルールエンジンのように、それらを解釈するためのシステム全体を作らなければならないと思っていますか?多分あなたはこの問題について私に別の見通しを与えることができます。

答えて

0

以前はルールエンジンを作成しました。彼らは通常、悪い考え(tm)です。

あなたのアプリケーションコードにルールを書き込むことを検討します。データベースとルールエンジンはそのままにしておいてください。まず、ルールエンジンはしばしば意図を混乱させる。数か月後にメンテナンスパッチが届いたときに何が起きているのかを正確に確認するのは難しいです。第二に、VB(またはC#またはあなたが選んだ他の言語)には、ルールを定義するためのより適切な用語が実装される可能性のあるものよりも多く含まれています。私を信じて、XMLはルールの表現が貧弱です。最後に、非プログラマは正規表現を書くことができないので、複雑さを増やしても何も得られません。

ClickOnceの展開を使用すると、ほとんどの展開の問題を軽減できます。

希望に役立ちます。

+0

ナンセンス。あなたの答えは完全なナンセンスです。もし何かが真実ならば、私たちはまだ石の時代に住んでいます。銀行は働かず、飛行機は飛行しません。ビジネスルールは、最新のプログラミングとデータ分析の大部分です。あなたは、ビジネスルールを文字列操作の小さくて軽い作業と混在させています。ブー。 – Kizz

+0

あなたはもちろん、あなたの意見を得る権利があります。私はそれを裏づける20年の経験で私の答えを立てています。 –

+0

私はKizzにちょっと同意します...私は規則を開発するために私以外の誰も必要としませんし、RegExではありませんが、多くの文字列操作を含み、毎回ソースコードを変更するのではなくルールを追加したいのですが、(データベースに)ルールを追加して結果を確認するだけのシステムを作成したいと思います。しかし、すべてのルールはエンジンの複雑さによって制限されます...しかし、全体的な考え方は内部コードから取り除くことです...しかし、それが意味をなさないかどうかを知りたいと思います。たぶん、私はちょうど何か利点をもたらすことはありませんこのアイデアに立ち往生ですか? – Theveloper