Предположим, что некоторые, не все модели в приложении являются статическими и определяются как члены BaseViewModel, так что несколько ViewModels (и по расширению, Views) могут получить доступ к тем же данным, ударив то, что они унаследовали. Вот очень простой макет, в котором два производных класса может получить доступ к тому же модели:Является ли хорошей практикой сделать статическую модель в WPF (MVVM)?
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 = "";
}
}
В конце концов, он получил работу в тех же данных теперь показывают в нескольких представлений без проблем. Однако это не означает, что нет более подходящего способа, о котором я не знаю. Поскольку я новичок в WPF, я чувствую себя вынужденным спросить: «Создает модель статической хорошей практики для шаблона MVVM?» Кроме того, можно ли оптимизировать эту реализацию, и если да, то как?