所以我想知道,是否有一个可靠的示例或可以用来正确创建项目管理类的方向。 唯一的责任是保存和加载与项目相关的文件。在许多应用程序中,这是很常见的功能,因此,我绝对确定必须有好的方法。
我在项目中使用MVVM,我的所有代码都拆分到多个viewModels上。 由于保存/加载功能应该访问任何viewModel的任何内容,所以我不能仅将项目管理器类作为参数传递(唯一的方法是通过使viewModel sorta成为视图类中的全局变量(因为我需要将其设置为dataContext并通过公共setter方法传递给管理器。
所以我的另一个选择是制作一个Singleton,但是声誉不好,我真的不想使用它。
我不确定这里是否真的需要代码,但这大致就是我目前拥有的:
public class ProjectManagerSingleton {
public static ProjectManagerSingleton Instance = new ProjectManagerSingleton();
public string ProjectName { get; set; }
public string ProjectPath { get; set; }
private ProjectManagerSingleton() { }
public void SaveProject() {
// some code here
}
public void LoadProject {
// some code here
}
}
不幸的是,我还没有找到任何可以独自使用的好例子。