我有一个用于验证我的数据模型的知识库。来自 UI 的修改事件被异步发布到一个单独的线程,该线程更新知识库并触发规则。验证错误触发错误对象的逻辑插入。我可以收集这些并将事件异步发布回 UI 线程。然而,为了更容易使 UI 保持最新状态,我还想在用户修复错误时发布一个事件——即,当一个错误对象从知识库中撤回时。
对于如何做到这一点,我有两个想法,我都不喜欢:
我可以从过程代码中监听工作记忆事件,但这会违反知识库中验证功能的封装。
或者,我可以插入一个标志对象与我的错误对象的逻辑插入配对,并编写一个检测未配对标志的规则,收回它们,并触发“错误修复”事件。
如上所述,是否有一种干净简单的方法可以根据错误对象的逻辑撤回来激活规则?