データモデルの検証を実行するための知識ベースがあります。UIからの変更イベントは、ナレッジベースを更新してルールを実行する別のスレッドに非同期で送信されます。検証エラーは、エラーオブジェクトの論理挿入をトリガーします。これらを収集し、イベントを非同期でUIスレッドに投稿できます。ただし、UIを最新の状態に保つのを簡単にするために、ユーザーがエラーを修正したとき、つまりエラーオブジェクトがナレッジベースから撤回されたときにもイベントを投稿したいと思います。
これを行う方法について2つのアイデアがありますが、どちらも好きではありません。
手続き型コードからワーキングメモリイベントをリッスンできますが、ナレッジベース内の検証機能のカプセル化に違反します。
または、エラーオブジェクトの論理的な挿入とペアになっているフラグオブジェクトを挿入し、ペアになっていないフラグを検出して撤回し、「エラー修正済み」イベントを発生させるルールを作成することもできます。
上記のようにエラーオブジェクトの論理的な撤回に基づいてルールをアクティブ化するためのクリーンで簡単な方法はありますか?