Rac*_*hel 6 wpf data-access-layer mvvm n-tier-architecture
我对整个n层体系结构都很陌生,我对使用MVVM和3层应用程序有一些疑问.
根据我的理解,我们有:
我的问题是,如何使用数据访问层将所有这些组合在一起?使用MVVM,我会让模型包含自己加载/更新的方法.相反,这应该是在WCF服务器上发生的事情?如果是这样,是否应将对服务器的引用存储在Model或ViewModel中?它应该怎么称呼?
严格来说,DAL不是MVVM模式的一部分.DAL是某种"幕后"模型,视图和视图模型应该对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);
}
}
Run Code Online (Sandbox Code Playgroud)