我对整个n层体系结构还很陌生,对于将MVVM与3层应用程序结合使用还存在一些疑问。
据我了解,我们有:
我的问题是,如何使用数据访问层将所有这些放在一起?使用MVVM,我可以让模型包含加载/更新自身的方法。相反,这应该是WCF服务器上发生的事情吗?如果是这样,对服务器的引用应该存储在Model或ViewModel中吗?以及如何称呼它?
最佳答案
严格来说,DAL不是MVVM模式的一部分。 DAL在模型的“后面”,并且 View 和 View 模型应该对DAL一无所知。
例如,将实体公开为模型的属性,这些属性是在首次访问时加载的。
public class ProductListModel
{
public List<Product> AllProducts
{
get
{
if (_AllProducts == null)
_AllProducts = MyServiceProxy.LoadAllProducts(...)
return _AllProducts;
}
}
public void SaveChanges()
{
if (_AllProducts != null)
MyServiceProxy.SaveProducts(AllProducts);
}
}
关于wpf - WPF-将DAL放在带有MVVM的3层体系结构设计中的位置?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3189681/