Как я должен передать ссылку на объект в контроллер в MVC?
-
10-07-2019 - |
Вопрос
Я пытаюсь лучше использовать шаблоны стилей MVC / MVP с моими приложениями WinForm, и я борюсь с чем-то, с чем, может быть, кто-то здесь с большим опытом может помочь мне.
Ниже приведен мой основной макет проекта:
Класс G2.cs
обрабатывает запуск различных потоков и включает в себя запуск / останов и другие различные методы, связанные с этими потоками. Это мой "главный" класс, я полагаю. Он также содержит основной цикл для моего приложения. Р>
Мой графический интерфейс состоит из 3 форм и связанных с ними контроллеров для каждой. В MainForm
есть кнопки «Пуск / Стоп», которые должны вызывать методы моего класса G2
, а также возможные будущие формы.
Как правильно передать ссылку на мой класс G2 всем контроллерам представления, которые в этом нуждаются? Нужно ли передавать ссылку G2
на Форма, когда я ее создаю, и форма, в свою очередь, передает ее моим контролерам или ... это не хороший способ справиться с вещами?
Кроме того, я прав в том, что ответственность за создание экземпляра своего контроллера лежит на Views, и он " владеет " контроллер?
Решение
Если G2 является основным классом программы и существует только в одном экземпляре, я бы использовал шаблон синглтона для этого класса - нет необходимости передавать ссылки.