【发布时间】:2018-02-12 12:31:08
【问题描述】:
我有一个 API,它会在其内部数据更改时公开一些事件。当有人想观察数据变化时,它会附加一个事件回调,当数据内部发生变化时 API 会通知它。
当状态改变并且有人初始化需要知道当前 API 状态并收到更改通知的代码时,需要附加事件侦听器并且需要在 API 上调用一些 getter 来获取当前状态。
我正在考虑做这样的事情:当您附加一个侦听器,并且在 API 中已经知道状态时,立即使用当前状态调用附加的回调,然后在状态发生变化时调用。
但问题是我找不到适合这种行为的设计模式。它看起来像一个观察者,但发生了变异 - 如果有任何需要通知的信息,它会在监听器附加后立即通知。
如果它有任何意义或一般来说它是一种反模式,请指导我,我应该始终使用初始 getter 来获取当前状态并为未来状态更改“更改”事件。
【问题讨论】:
标签: design-patterns observer-pattern