0

この要件は奇妙であるか、混乱しすぎている必要があります。30 列のルールテーブルがあります。フィード ファイルのすべての行は、フィードの種類に基づいて一部またはすべての条件と比較されます。ドメインは銀行で、アプリケーションはローン レポート用です (たとえば、有担保ローンと無担保ローンの合計額をレポートします)。

これは私の問題です:

If the (total of collateral amount)> loan principal amount, then consider the principal amount for consolidation

Else if the (total of collateral amount)<loan principal amount, then consider only the amount covered by collateral

私はこのような 5 つのシナリオ (カスタマイズ可能である必要があります) をユーザーが用意しています (たとえば、担保が現金/株式の場合は、現金担保/株式担保のみを検討してください)。

おそらく、このシナリオはさらに増えることが予想されます。この問題にどのようにアプローチすればよいかわかりません。私の計画は、ルールテーブルに列を作成し、フォーマット済みの簡単な英語の条件をいくつか入れて (これを文書化し、ユーザーに教えます)、正規表現を使用してそれらを解析し、後で数値に変換することです。私は DSL に関する知識も経験もありませんが、これが最高ですか??!! 私が考えられること。どんな助けも私にとって素晴らしい知識の源になります。ありがとう。アルン

4

1 に答える 1

2

独自の解析ロジックを実装したり DSL を記述したりする代わりに、ビジネス ルール エンジンを使用してこれを実装できます。

詳細については、ビジネス ルール エンジンを参照してください。ほとんどのルール エンジンでは、プレーンな英語で文法を作成して、そのようなルールを定義できます。このようなルールを定義するためにilog JRULESを使用します。他にもいくつかの商用およびオープン ソースのルール エンジンが利用可能です。有名なオープン ソース ソフトウェアの 1 つにdroolsがあります。

于 2009-06-16T08:28:25.293 に答える