1

私はJavaEE6アプリケーションを開発しています。このアプリケーションでは、「プロバイダー」がユーザー向けのサービスの価格とさまざまな割引を定義できる必要があります。多くの異なるプロバイダーがあります。それぞれが同じサービスを提供し、価格設定モデルは異なる場合があります。

価格モデル:-プロバイダーは、たとえば1時間あたり、1分あたり、プロセスあたりなどの価格を定義できる必要があります。-プロバイダーは、ユーザーが取得する割引を定義するための条件を簡単に追加できる必要があります。例:特定のユーザーグループのユーザーには10%の割引が適用され、サービスを5回以上使用したユーザーには別の割引が適用されます。-条件を「AND」や「OR」などの論理演算とリンクできる必要があります。-考えられる条件の量は、ソフトウェアの製造元が定義する必要があります。

  • ユーザーがサービスにアクセスしようとすると、ユーザー固有の価格が表示されます。サービスを使用した後、特定のユーザーは、このサービスの合計費用が記載された請求書を受け取ることがあります。サービスを使用している間、プロバイダーは価格設定モデルを変更できるため、バージョン番号などが必要です。次に、価格設定モデルのバージョンをデータベースに保存する必要があります。

質問は-この仕様を解決するためにルールエンジンを使用することは可能で意味がありますか?プロバイダーは、クリックして選択するだけで、xmlファイルなどを使用せずに条件を定義する必要があります。私はルールエンジンの経験がないので、誰かが問題に最適な解決策を見つけるのを手伝ってくれるかもしれません。

4

1 に答える 1

0

まず、可能なすべての変数を知る必要があります。number of times someone has used a service、およびについて言及しgroup membershipます。変数のセットが変化する可能性がある場合、思ったよりも多くの作業が必要になる可能性があります..

次は、サポートする必要があるルールの複雑さのレベルです。本格的なルール エンジンは必要ないかもしれません。たとえば、 https://eval.dev.java.netを参照してください。

式の評価を行う場合は、各価格設定モデルのバージョンを独自の文字列としてデータベースなどに保存するだけです。ポイント アンド クリックのルールが必要な場合もありますが、多くの場合、書面によるルールの方がはるかに明確です。

于 2010-04-23T19:54:12.533 に答える