MVC问题:直接模式< - >查看沟通 - 为什么?

时间:2011-04-05 11:44:47

标签: model-view-controller

任何人都可以告诉我,为什么直接将模型与MVC模式中的视图进行通信,为什么不直接通过控制器?

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

2 个答案:

答案 0 :(得分:6)

有时使用Controller进行简单View/Model通信成本太高

enter image description here

如果您的视图只显示原始数据而没有任何操作(过滤,可视化,修改......),很容易忘记Controller。

但是这种行为非常滥用有时它会杀死 MVC 的所有优势。

这是 MVP 的来源:

MVP(Model-View-Presenter)切断了模型和视图之间的联系,每个东西都通过中间人(Presenter)。

enter image description here

答案 1 :(得分:0)

视图知道模型并将与模型交互。

  • 如果单击某个按钮,则可能会向模型对象发送操作消息以获取 做的事。
  • 如果在输入字段中键入新值,则可能会向模型发送更新消息 对象,以赋予它新的价值。
  • 如果显示需要值,则可以将查询消息发送到模型对象中 为了得到一个价值。