涉及在ViewModel或Model中处理数据(来自DB)的逻辑?
|
我正在使用WPF开发应用程序。我使用的模式显然是MVVM。另外,我正在使用Entity Framework ORM和LINQ-to-Entities查询EF对象。
我对MVVM的理解是,视图应该没有代码隐藏,而对ViewModel的了解应该是ViewModel包含与View绑定的某些属性,并且还包含用于处理视图事件的命令。而模型仅包含从DB获取数据的代码。
在我的模型类中,我刚刚编写了使用Linq-to-entity直接查询EF对象的函数。在将数据分配给VM中的属性之前,我需要对数据执行的处理是存在于VM中或存在于VM项目中的类中。仅在这里提到,我有3个项目-View,ViewModel和Model。
我的问题是,我可以将那些功能(涉及对来自DB的数据的处理)保留在VM项目中还是应该保留在Model项目中?如果在ViewModel项目中,它应该在相关的VM中还是在VM项目中存在的单独类中?
没有找到相关结果
已邀请:
5 个回复
诧不达
茬贺努充尽
扇献隙
号拳藐孔妇
,其属性为
和
,如下所示:
现在,当您需要修改视图逻辑时,您必须修改
类(没关系),但是当您需要修改数据库通信逻辑时,您还需要修改同一类,但这还不太好。 单一责任原则说: 决不能再有一个 班级变更的原因。 结果,如果您保持现在的状态,将来可能会遇到不必要的代码复杂性。
舞备联