0

インクリメンタルスコア計算のために実装する必要があるメソッドの目的を誰かが説明できますか? after... メソッドはすべて理解していますが、エンティティの追加、削除、または変数の変更 (beforeEntityAdded、beforeVariableChanged、beforeEntityRemoved) の前にスコアを調整する必要があるのはなぜですか?

4

1 に答える 1

0

6.0.0.Final ドキュメントからこの画像を参照してください。

ここに画像の説明を入力

「増分スコア計算」のセクションも参照してください (SimpleScoreCalculator よりもはるかに高速である理由も説明されています)。実装例を見てください。beforeVariableChanged()一致しなくなった違反した制約の一致を撤回するために必要であることがわかります。

+1上の図では、メソッド中に AB が一致しなくなり、ACがbeforeVariableChanged()メソッド中に一致するようになったため、ChangeMove を取得する必要があります。-1afterVariableChanged

于 2013-11-03T21:14:28.237 に答える