项目管理器功能可保存/加载项目

时间:2019-01-17 18:53:13

标签: c# wpf singleton viewmodel

所以我想知道,是否有一个可靠的示例或可以用来正确创建项目管理类的方向。 唯一的责任是保存和加载与项目相关的文件。在许多应用程序中,这是很常见的功能,因此,我绝对确定必须有好的方法。

我在项目中使用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
    }

}

不幸的是,我还没有找到任何可以独自使用的好例子。

0 个答案:

没有答案