在 WikiPedia (Comparison with the MVC architecture) 中,据说 - “ MVC架构是三角形的:视图向控制器发送更新,控制器更新模型,视图得到更新直接来自模型“
再次通过 ASP.Net Definition 和 image ,很明显MVC支持三角通信。
但查询是视图与模型交互的方式和时间,反之亦然。
令人钦佩的是获得一些代码以明确表示,如何&当MVC支持三角通信时。
答案 0 :(得分:0)
如果你看一下MVC的历史,几十年前它就是用Smalltalk语言发明的,它与我们目前常用的OO语言Java,.NET或C ++有一些不同。因此,对MVC应该如何工作有很多解释。没有正确的解决方案!由你决定。也许MVC,你知道的方式实际上是MVP,而不是另一方面的MVC。我经历过多少次知道的事情。如果你有兴趣,这里有一些关于MVC的讨论,差异以及我喜欢如何实现它。
现在需要注意的重点是,MVC主要旨在将View与Model分开,以便多个Views可以共享同一个模型。所以要具体回答你的问题:“视图如何以及何时与模型相互作用反之亦然”
当:主要是模型发生变化时,它会自动发送信号以更新所有视图。
如何:模型封装刷新所需的所有信息并将其发送到视图,或者视图保存对模型的引用,并在必要时(或通过Controller)直接查询其状态。如你所愿。