我正在考虑如何在我的webapp中组织Model。我有两个选择,正如我所看到的那样:
创建一个全局可用的Model对象,然后在实例化新组件时,它们必须通过方法在Model对象中注册自己,然后在状态发生变化时更新它。其他人会通过一些关键来听取模型的变化。
为每个组件创建一个模型对象,并通过某个事件调度程序让其他人了解其状态更改。
在第一种情况下,我觉得在一个地方管理所有状态变化会更容易,有更多标准化的方法,而在后一种情况下,我认为维持系统的一致性将更加困难。 / p>
我应该根据决定做出哪些因素?
答案 0 :(得分:0)
我会选择第一个但是添加第二个想法:不是组件经常检查更改的关键,而是可以使组件在注册后需要时只显示组件。您可以使用寄存器本身传递信号/回调。
通过这种方式,您无需创建大量自我更新的模型(这也可能意味着您必须避免循环传播)。除此之外,如果我理解正确,它将违反single source of truth。此外,它在内存和性能方面看起来都更差。