gpt4 book ai didi

WPF - 在使用 MVVM 的 3 层架构设计中将 DAL 放在哪里?

转载 作者:行者123 更新时间:2023-12-03 04:06:18 25 4
gpt4 key购买 nike

我对整个 n 层架构相当陌生,并且对将 MVVM 与 3 层应用程序一起使用有一些疑问。

根据我的理解,我们有:

  • View 或 UI 层,即 xaml 文件
  • 模型,它是一个自定义类,包含“建模”数据对象的属性和方法
  • ViewModel,它是 View 和模型之间的“适配器”
  • WCF 服务器,用于处理数据库访问等事务
  • 用于存储数据的 SQL 数据库

我的问题是,如何使用数据访问层将所有这些组合在一起?使用 MVVM,我会让模型包含加载/更新自身的方法。相反,这应该发生在 WCF 服务器上吗?如果是这样,对服务器的引用应该存储在模型中还是 View 模型中?又该如何称呼呢?

最佳答案

严格来说,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 - 在使用 MVVM 的 3 层架构设计中将 DAL 放在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3189681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com