C# 模型持久性-这种情况应该发生在哪里?
我的问题是关于MVVM中的第一个“M”,即模型。我看到了很多关于如何实现模型的变化。有些只是POCO,没有业务逻辑和持久性逻辑,而另一些则包含一个或两个逻辑 现在,在我们的应用程序中,我们在模型、视图和视图模型之间进行了适当的分离。这是我们当前的解决方案结构(它是WPF prism应用程序):C# 模型持久性-这种情况应该发生在哪里?,c#,mvvm,persistence,prism-4,C#,Mvvm,Persistence,Prism 4,我的问题是关于MVVM中的第一个“M”,即模型。我看到了很多关于如何实现模型的变化。有些只是POCO,没有业务逻辑和持久性逻辑,而另一些则包含一个或两个逻辑 现在,在我们的应用程序中,我们在模型、视图和视图模型之间进行了适当的分离。这是我们当前的解决方案结构(它是WPF prism应用程序): 基础设施 模块A 视图模型 观点 模块B 视图模型 观点 模型(在模块之间共享,这就是为什么它在自己的类库中) 服务 数据访问(可能使用简洁的点网) 壳牌(主要WPF项目) 我们现在需要弄清楚
- 基础设施
- 模块A
- 视图模型
- 观点
- 模块B
- 视图模型
- 观点
- 模型(在模块之间共享,这就是为什么它在自己的类库中)
- 服务
- 数据访问(可能使用简洁的点网)
- 壳牌(主要WPF项目)
在我看来,MVVM模型只是“代表”数据,因此不应该有任何逻辑、CRUD或其他嵌入。您已经有了数据访问层,因此在那里编写CRUD代码并使用DI从您的模型访问此CRUD代码是完全正常的 MVVM的“美”在于它可以被解释,所以我相信其他人会认为模型就是数据,它可以包含CRUD逻辑
我的DAL中有我所有的CRUD操作,我还没有看到这种方法的缺点…此外,MVVM不是一种应用程序架构模式,但它是一种以更标准化的方式设计用户界面的模式。因此,在数据方面,MVVM不是选择的手段。谢谢。最后,我使用了工作单元模式,并将服务/存储库放在所有这些之上,以填充和持久化我的模型。