2013-07-26 31 views
2

认为我开始用MVC和我读的MVC原克拉斯纳的教程(http://www.create.ucsb.edu/~stp/PostScript/mvc.pdf模型应该如何通知有关状态变化

这里笔者提到了家属的概念。模型应该知道依赖于它的视图列表,并且每当模型发生变化时,都应该通知它的依赖者。

我认为这意味着该模型应该包含视图的实例,然后调用view.update()函数。然而,这与模型不应该知道视图和控制器的概念相矛盾,因此不应该持有这些实例...

如何实现此“信号”?我的想法是在控制器中实现这个信号。例如

class Model { bool viewNeedsUpdate = false}; 

并且每当所述控制器做了与模型时,它检查该变量并调用view.update()时neccessary。但是,这不符合论文,我不知道这是否是最好的解决方案。现代词用什么解决方案?

编辑:什么照顾通知视图关于需要更新最近的技术,如ASP MVC和其他? (我的意思是框架,各种Winforms应用程序等等,所有东西)

+0

您是否在谈论ASP.NET MVC?如果是这样,模型应该是一个'笨'的数据传输机制。 – Maess

+0

您可能会使视图实现某种接口,并在数据绑定期间将接口引用添加到模型中的已注册监听器列表。 –

回答

1

您可以在您的模型(布尔)中有一个标志,并且在模型(查看/插入)中您可以首先检查该布尔值,如果它设置为true,那么你可以向视图显示一个消息,该视图需要更新。

相关问题