gpt4 book ai didi

c# - 在 WPF (MVVM) 中使模型静态化是一种好习惯吗?

转载 作者:太空狗 更新时间:2023-10-30 01:05:45 28 4
gpt4 key购买 nike

假设应用程序中的一些(不是全部)模型是静态的,并且被定义为 BaseViewModel 的成员,这样多个 ViewModel(以及扩展的 View )可以通过点击它们继承的数据来访问完全相同的数据。这是一个非常基本的布局,其中两个派生类可以访问同一个模型:

public class EmployeeModel
{
public string Name;
public int Id;
}

public class BaseViewModel
{
private static EmployeeModel employeeModel = new Employee Model();
public EmployeeModel EModel
{
get { return employeeModel; }
set { employeeModel = value; }
}

public BaseViewModel() {}
}

public class EmployeeViewModel : BaseViewModel
{
public EmployeeViewModel()
{
base.Emodel.Name = "";
}
}

public class HomeViewModel : BaseViewModel
{
public EmployeeViewModel()
{
base.Emodel.Name = "";
}
}

最后,它完成了工作,因为相同的数据现在可以毫无问题地显示在多个 View 中。但是,这并不意味着没有我不知道的更合适的方法。由于我是 WPF 的新手,我不得不问,“为 MVVM 模式制作一个静态模型是好的做法吗?”另外,这个实现是否可以优化,如果可以,如何优化?

最佳答案

这不是一个坏习惯,会说。因此,在您使用模型 static 的情况下,使您的程序按预期运行,这是一个很好的做法。

替代方案可能是不声明 this 模型 static,而是声明一些 static 模型持有者,它根据请求返回完全相同的实例,所以在不同的 View 中,就像现在一样,您会看到以不同方式呈现的相同模型。

希望这对您有所帮助。

关于c# - 在 WPF (MVVM) 中使模型静态化是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17456113/

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