我正在使用MVVM模式在wpf中开发一个应用程序我怀疑例如,如果你把学生作为数据模型的模型,我可以在哪里添加业务逻辑,如添加新学生和删除学生和更新学生信息和计算标记和所有?
我的意思是所有业务逻辑是否都属于MODEL或VIEWMODEL?
如果它在模型中,我们怎么能这样做任何示例代码? 我需要一个完整的代码示例!
提前问候并表示感谢 Karthinalls
答案 0 :(得分:4)
业务逻辑应该是模型的一部分,因为所有代码都应该可以在不同的技术平台上重用。例如,您可能希望在ASP.NET MVC中的Web站点和WPF中的桌面应用程序中重用模型,因此在视图模型中使用业务逻辑是没有意义的。
视图模型应包含特定于该特定应用程序实例的表示逻辑。
对于示例代码,这将特定于您正在建模的域,因此您必须询问有关您要建模的内容的更具体的问题。
答案 1 :(得分:1)
我建议您阅读有关此主题的PRISM文档:Chapter 5: Implementing the MVVM Pattern。
即使您不打算使用PRISM,该文章写得非常好,并详细说明了Microsoft技术术语中的模式。
答案 2 :(得分:1)
我很少相信微软对模式所说的内容,因为他们的文章经常被约会或修改以支持他们自己的专有框架或产品。此外,我发现MS思想/方法在他们不同的团队中是矛盾的,也在软件中普遍接受的方法中。
并非所有这些都是好的,并非基本上都不好。
回答你的问题。我使用的是商业逻辑服务。我将在ViewModel中实例化对它的引用,并且我不会在ViewModel或模型中放置任何与其角色无关的逻辑。即表示逻辑是好的,取决于它是什么,它可能最好放在ViewModel中,因为它与所讨论的视图高度相关。模型也是如此。
请记住这些角色,您将拥有可扩展且可测试的应用程序。