【发布时间】:2016-09-23 02:59:14
【问题描述】:
我过去读过很多关于 MVVM 的文章,但我还没有完全明白。 我查看了 MVVM Light 框架并理解了 ServiceLocater 绑定 View 和 Viewmodel 的模式。但是我没有发现模型和视图模型之间的连接有什么帮助。
到目前为止,我知道 Viewmodel 应该有一个私有的“模型”实例和一些要被 View 读取的公共属性。 Model 应该实现 INotifyPropertyChanged 事件来通知 Viewmodel,Viewmodel 可以处理数据和/或更改其公共属性并通知视图。
我希望到目前为止我做对了。但是:模型是在哪里创建的?以及 Viewmodel 是如何获取 Model 的? Viewmodel 会创建它吗? 我的应用程序通过蓝牙不断获取数据并在后台处理它们。在不同的流程阶段,它会改变不同的模型。我的第一种方法是一个包含所有模型的单例。 Viewmodel 从 Singleton 获取模型,后台进程也可以访问模型。但我认为“模式”真的很糟糕..,但我找不到任何解决方案来做到这一点“很好”。我不知道如何在视图模型和后台进程(businessLogic)之间正确共享模型。
我很高兴有任何帮助:)
【问题讨论】:
-
好问题,但可能更适合 Programmers.StackExchange(该站点处理架构问题,S/O 用于特定代码问题)
-
@jdl134679 在引用其他网站时,指出cross-posting is frowned upon 通常会有所帮助