带有 Observer 和 Observable 的 MVC

MVC with Observer and Observable

当使用 MVC 架构并且 observable 是模型时,View 应该相应地更新。观察者应该是什么?控制器还是视图?

你说的架构是MVVM(Model View View Model)

如果模型发生变化,它会更新 View

所以没有这样的控制器。 View可以认为是Observer.

MVCObserver在某种程度上是不同的设计模式,但是当模型改变时视图应该更新。

所以View可以看作是观察者,Controller可以看作是可观察者。

我会说“可观察的”(即主题)是模型。我们正在观察对象而不是控制器。 总结:

  • 模型≃主题
  • 视图≃观察者
  • 控制器(允许更改模型的状态,并选择所需的视图)

当subject/model发生变化时,所有在subject/model注册的views/observers都会收到subject/model的通知。