C# 我的模型应该是什么样子?
随着我进一步深入了解MVVM和MVVM light,我认识到MVVM light并没有为模型提供基类 但据我所知,消息传递和引发通知也可能发生在模型中。至少在模型之间的通信中,我会发现消息传递非常方便 因此,我决定从ViewModelBase派生模型,即使某些属性(如设计时属性)将不使用 但是我看得越多,我就越觉得我错过了什么。从ViewModelBase派生模型是否被视为“错误做法”C# 我的模型应该是什么样子?,c#,wpf,design-patterns,mvvm-light,C#,Wpf,Design Patterns,Mvvm Light,随着我进一步深入了解MVVM和MVVM light,我认识到MVVM light并没有为模型提供基类 但据我所知,消息传递和引发通知也可能发生在模型中。至少在模型之间的通信中,我会发现消息传递非常方便 因此,我决定从ViewModelBase派生模型,即使某些属性(如设计时属性)将不使用 但是我看得越多,我就越觉得我错过了什么。从ViewModelBase派生模型是否被视为“错误做法” 使用消息传递进行模型通信可以吗?我想看一下中的EventAggregator。帖子中的答案对此有很好的描述。J
使用消息传递进行模型通信可以吗?我想看一下中的
EventAggregator
。帖子中的答案对此有很好的描述。Jeremy Miller的更为详细。从您喜欢的任何对象派生视图模型类。。。MVVM light提供了VieWModelBase来提供iClinup的实现,这有助于管理ViewModel对象的生命周期。我自己的选择是在基类中实现所有属性更改通知的脚手架,然后从模型类中派生。关于模型类,我唯一的强烈建议是:
记住干(不要重复你自己)、吻(保持简单,愚蠢!)和雅格尼(你不需要它)——这些原则是你应该牢记在任何学术设计原则之上的原则。我已经在一个WPF应用程序上浪费了数周的时间,该应用程序实现了学术上完美的MVC/MVVM模式,结果发现它们降低了最终解决方案的整体可理解性。所以保持简单!:) 这是否意味着我必须放弃MVVM灯光而选择Prism?我还没有决定一个100%的MVVM框架,所以切换是可能的。这取决于你,你当然可以下载代码(Prism)并查看它。如果你想走其他路线,那么你可以选择你需要的课程。在我看来,我会使用复合应用程序库和MVVM模型。虽然这是一个很好的答案,但它并不完全符合我的问题。我考虑的主要是模型间的沟通和模型的最佳实践。“我在WPF应用程序上浪费了数周时间,实现了学术上完美的MVC/MVVM模式,结果发现它们降低了最终解决方案的整体可理解性。”这正是我的MVVM学习曲线所处的位置——这个实现。我想知道,你能详细说明一下第二点吗。也许是你所做的以及它如何帮助你的一个例子?