2

有各种各样的方法可以单独响应事件。但是,我反复遇到这种现象,我想更改几个属性,然后在进行所有更改后响应状态。

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

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

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

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

4

1 回答 1

0

你已经用观察者模式标记了它,但听起来你想要的是中介者模式......它监听各种来源并提供更高级别的逻辑。

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

于 2013-01-22T20:11:55.457 回答