管理事件的“量子状态变化”是否有用? (特别是在JavaScript中)

时间:2013-01-22 20:07:43

标签: javascript events observer-pattern

有各种方式可以单独回应事件。但是我反复遇到这种现象,我想要更改几个属性,然后在完成所有更改后响应状态。

经典案例 - 我有一个包含帐户交易的数据网格。当我从一个帐户更改为另一个帐户时,我还会更改日期范围和排序键/顺序。这是三个属性(accountID,sorting,dateRange),但我不想独立触发三个更改事件 - 至少,当我切换帐户时。然而,这些状态确实有潜在的观察者,因为当最后两个状态改变时,来自用户交互。

是否有任何智能方法来管理参数的量变化,与参数的个别变化分开?您可以随时使用全局state_is_changing属性来中和事件,同时逐个更改事件,但是当您“取消挂起”state_is_changing属性时,您必须从更高级别重新轮询您的状态或使事件效果“排队” “这是在变革期间触发的。

这些解决方案似乎都不优雅。

有没有人知道一种设计模式,你可以优雅地管理事件系统中的战术和量子状态变化?

1 个答案:

答案 0 :(得分:0)

你用Observer模式标记了它,但听起来你想要的是Mediator模式......它可以监听各种来源并提供更高级别的逻辑。

给它读一读,看看它是否适合你的想法:http://addyosmani.com/largescalejavascript/#mediatorpattern