問題のシナリオ
技術交流グループ(QQ:715840230)で学生が質問をしています:
私たちは事実を確認していなかった場合は、パスの実際の内側kiesessionするには、いくつかの入力フィールドがNULL値であってもよいがあります。しかし、あなたが外側に入力検証を行う場合は、ルールの変更は、必要なフィールドの実際同じではありません、チェックを入力して比較的強い結合された変更を、従わなければなりません。それを行うための任意のより良い方法はありますか?
よくあるご質問
この事実を考慮すると、ルールエンジンで少し問題を抱えている、より重要なことは、ビジネス・ロジックを確認することです。
企業年齢、登録資本と企業年齢:たとえば、企業の信用格付けのために、それは3次元を必要とします。もちろん、この例では、得られた値が大きいほど、より高い評価値が暫定的です。
この例では上記の質問に答えます。2次元の観点から:
カップリングを削減
真のカップリングを低減するために、その後、三次元を分割することができる、オブジェクトは、実際には通過しないが、3つのルールは、各ルールは、計算された値、一つ最終的な加算結果に対応します。この方式では、我々は実際には存在しないヌルされている問題。
判決を増やします
ビジネスでの裁判官のルールは、それらの3、そのオブジェクトがnullであるという事実、それは特別な取り扱いアップを必要とする場合。例えば、我々は特定の資格なしエンタープライズオブジェクトのための実際の型を取得する場合にのみインチ 限りオブジェクトが企業に入ると、それは、マッチングルール、次にスコア算出処理の特定の部分であろう。
別のケースは、その後、いくつかの処理機能をカスタマイズする条件によって規定され、そのようなオブジェクトは、その後にまとめるか、事実によって所望の結果に加工カスタム関数を得られます。
その他の方法
そう、彼は事実を挿入する前に、調査対象によって検証されると思った学生のための問題は、これが実際に選択され、プロパティのデフォルト値を選択し、ヌルスコアはゼロです。彼の疑念このためには、グループと引き換えに与えられた回答します:
この値は、この値を渡したり、無視しない、実際にはこの値のプロセスです。同様に、このプロセスはルールであっても、より柔軟に処理することができます。アイテムが通過しない場合たとえば、スコアリングは、この1つはあなたがnull値を渡す場合、デフォルト0は、しかし、あなたは0に設定し、ルールにnullに処理することができる可能性がある、あなたもヌル値にすることができプロセスは、負の値に設けられています。
関連ビデオ技術
CSDN研究所:「Drools7ルールエンジンアドバンスコース」
CSDN研究所:「Drools7ルールエンジンガイド」
CSDN研究所:「Drools7シリーズパッケージ」