gpt4 book ai didi

c# - 我应该将哪些参数传递给 ViewModel 的构造函数?

转载 作者:太空狗 更新时间:2023-10-29 23:10:07 26 4
gpt4 key购买 nike

我是 WPF/MVVM 的新手,正在尝试理解这种模式。我正在探索这个 MVVM 应用程序 http://msdn.microsoft.com/en-us/magazine/dd419663.aspx

作者创建 Customer存储在 Model 中的类文件夹和 CustomerRepository存储在 DataAccess 中的类文件夹

CustomerRepository包含“做事”的方法,例如 static List<Customer> LoadCustomers(string customerDataFile) IE。我们不能这么说CustomerRepository是纯模型文件,也是实用文件。

来自另一手CustomerRepository存储重要数据readonly List<Customer> _customers;我们知道我们应该在模型中存储此类数据!

好吧,我会说 CustomerRepository正在混合 - 它是一个模型文件,其中包含一些实用方法。

问题是 CustomerRepository实例传递给 ViewModel public AllCustomersViewModel(CustomerRepository customerRepository) .现在 viewModel 包含一些它不应该包含的东西,特别是它可以强制 CustomerRepository重新加载东西等

在我看来这又是 MVVM 模式,我认为 ViewModel 应该只包含对模型文件的引用 所有用于操作模型文件的实用程序类和方法应该在其他地方.

我是对还是错? 是否可以将在模型上提供某些服务(可以重新加载/刷新模型等)的类传递给 ViewModel?即哪里应该是所谓的service layer , 可以放在 ViewModel 中吗?

最佳答案

您“ViewModel 应该只包含对模型文件的引用”的假设是错误的。

ViewModel 可以引用它需要的任何东西,只要它不是 View 。

将服务注入(inject) ViewModel 是很常见的。

关于c# - 我应该将哪些参数传递给 ViewModel 的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8286919/

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