Функция менеджера проекта для сохранения / загрузки проекта - PullRequest
0 голосов
/ 17 января 2019

Так что мне было интересно, есть ли хороший пример или направление, на которое я могу обратить внимание, чтобы правильно создать класс управления проектом. Это только ответственность за сохранение и загрузку файлов, связанных с проектом. Это довольно распространенная функция во многих приложениях, поэтому я абсолютно уверен, что подходы к ней должны быть хорошими.

Я использую MVVM в своем проекте, и весь мой код разделен на несколько моделей представления. Поскольку функция сохранения / загрузки должна иметь доступ к любому содержимому любой viewModel, я не могу просто передать класс менеджера проекта в качестве аргумента (единственный способ сделать это - сделать viewModel sorta глобальной переменной в классе представления (потому что мне нужно установите его в dataContext и передайте менеджер через метод открытого сеттера).

Так что другой вариант, который у меня был, - это сделать синглтон, но, тем не менее, он имеет плохую репутацию, и я не хочу его использовать.

Я не уверен, действительно ли здесь нужен код, но вот примерно то, что у меня сейчас есть:

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
    }

}

К сожалению, я не нашел ни одного хорошего примера, который мог бы использовать, чтобы сделать это самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...