Как я должен передать ссылку на объект в контроллер в MVC?

StackOverflow https://stackoverflow.com/questions/311079

Вопрос

Я пытаюсь лучше использовать шаблоны стилей MVC / MVP с моими приложениями WinForm, и я борюсь с чем-то, с чем, может быть, кто-то здесь с большим опытом может помочь мне.

Ниже приведен мой основной макет проекта:
alt text

Класс G2.cs обрабатывает запуск различных потоков и включает в себя запуск / останов и другие различные методы, связанные с этими потоками. Это мой "главный" класс, я полагаю. Он также содержит основной цикл для моего приложения.

Мой графический интерфейс состоит из 3 форм и связанных с ними контроллеров для каждой. В MainForm есть кнопки «Пуск / Стоп», которые должны вызывать методы моего класса G2 , а также возможные будущие формы.

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

Кроме того, я прав в том, что ответственность за создание экземпляра своего контроллера лежит на Views, и он " владеет " контроллер?

Это было полезно?

Решение

Если G2 является основным классом программы и существует только в одном экземпляре, я бы использовал шаблон синглтона для этого класса - нет необходимости передавать ссылки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top