Управление многими окнами в архитектуре GUI - PullRequest
0 голосов
/ 26 ноября 2011

У меня вопрос по архитектуре сложного приложения с графическим интерфейсом.

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

Сначала я подумал о том, чтобы создать глобальный синглтон, разделяющий все ссылки на окна (и инкапсулировать их в геттеры / установщики), и каждое окно будет иметь только ссылку на это, скажем, «оконный менеджер» - но обычно я этого не делаю. как этот тип программирования (я антиглобальный: P), я считаю, что это плохо и небезопасно.

Есть ли какие-то парадигмы / шаблоны проектирования, которые мне не хватает?

Ценю любые полезные советы,

Maciek

Ответы [ 2 ]

0 голосов
/ 27 января 2012

Вам нужен "контроллер" широкого применения.Думайте об этом как о центральном DNS.Это не должен быть особый «глобальный синглтон».Ваше приложение уже будет иметь один из них (корневой объект вашего приложения).Просто сделайте так, чтобы он управлял списком окон.

0 голосов
/ 27 января 2012

Звучит сложно.

Если вам нужно общаться между окнами, я бы предложил использовать события.

Форма 1 вызывает событие, а форма 2 отвечает на него. Передайте необходимые детали в аргументах события.

Это исключает необходимость иметь ссылки на каждую форму в других формах.

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