我最近开始在JavaScript中探索用于状态管理的库,我遇到了Mobx。我试过通过网络搜索无法找到关于那些可观察对象的解释。我理解他们做了什么,但我想更深入地了解他们的工作方式。作为一个图书馆,观察者显然让我们更容易,而不必对他们进行太多推理,但我仍然觉得我想要一个解释。
Mobx“只是”observable pattern的实现,还是以某种方式偏离?
答案 0 :(得分:1)
如果你真的想知道某些事情是如何起作用的,那么通常最好只看the code。
我不是“观察者模式”的专家,但使用@ zvona的link在我看来“是的,mobx只是观察者模式的一种实现。”
基于该帖子的理由:
Defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
IObservable
有一个名为observers
Observers explicitly ask Observables to add them to the observer list the Observable maintains.
addObserver
observable.observers
数组的任何新观察者都属于IDerivation
[MobX]是否以某种方式偏离[观察者模式]?
我已经说过,我不是观察者模式教科书定义的专家。我找不到任何由Michel Weststrate写的明确说明MobX 是这种模式的实现(不是我看起来那么难),但是我会出去做一个问题并建议(像大多数JavaScript库一样)与教科书有一些偏差。但我不知道是否值得挑剔。