澄清:MVC,MVP,MVVM

ASP*_*ner 6 model-view-controller mvp mvvm

我正在阅读MVC,MVP,MVVM之间的区别

来源:这里

替代文字

我的疑问是,图表(MVP)(MVVM)显示了Modle和Presenter,Model和ViewModel之间的双向箭头.

Presenter和ViewModel明显知道Model.But是否意味着Model知道Presenter和ViewModel?

Ree*_*sey 7

Presenter和ViewModel明显知道Model.But是否意味着Model知道Presenter和ViewModel?

不.至少,我看待这些模式的方式,模型应该(理想情况下)不知道除了它自己以外的任何东西.我试图通过向模型显示单向箭头来强调我对MVVM讨论.

但是,许多人使用箭头往返于模型的两个方向来表示模型引发的事件.这在某种程度上取决于您如何看待这一点 - 模型可能需要在其自身内部通知其他层.根据语言/框架,这可能看起来像模型与其他层"交谈".但是,我试图非常小心地从模型的角度来看这完全中立.例如,在C#中,我只使用一个事件,其中的类型都是特定于模型的.它知道"某事"可能正在倾听事件,但却不知道什么构成了"某事".