代码之家  ›  专栏  ›  技术社区  ›  Matthieu

两种模型视图设计和模型间的通信

  •  2
  • Matthieu  · 技术社区  · 15 年前

    我有一个包含两个不连续部分的对话框。每个零件都使用模型视图设计。
    但是当一个模型被更新时,第二个模型也必须被更新。 我想知道它是否存在在两个模型之间进行通信(更新通知)的最佳实践或设计模式。
    只有两个视图和一个模型是不可能的。

    谢谢你抽出时间

    2 回复  |  直到 15 年前
        1
  •  1
  •   Mark Seemann    15 年前
        2
  •  2
  •   David Moles paddy-p    15 年前

    一个常见的解决方案是让第二个模型监听第一个模型,并在第一个模型触发变更事件时更新自己。

    如果每个模型都可以导致另一个模型的更新,那么相同的模式也可以工作,但是您需要放置一些东西来防止循环更新——例如 valueIsAdjusting 由事件激发方法设置并由事件侦听方法检查的标志。