2011-11-26 71 views
0

我有一個關於複雜GUI應用程序的架構的問題。在GUI架構中管理很多窗口

我正在創建這樣的應用程序,並且有很多很多的窗口,這些窗口經常會互相交互,而且我正面臨着所有需要引用其中的其他窗口的問題。 管理這些窗口的最佳方法是什麼?首先想到的是創建共享所有窗口引用的全局單例(並將它們封裝在getter/setter中),並且每個窗口只會引用那個,讓我們說'窗口管理器' - 但通常我不'',我喜歡這種類型的編程(我是反全球:P),我認爲這是不好和不安全。

我是否缺少任何範例/設計模式?

欣賞任何有用的提示,

Maciek

+0

你能更好地定義「多,多」嗎?你在說幾十萬嗎? –

回答

0

您需要一個應用程序範圍的「控制器」。把它想象成一箇中央DNS。它不一定是一個特殊的「全球單身人士」。你的應用程序已經有了這些應用程序(你的應用程序的根對象)。只要管理一個窗口列表。

+0

我認爲有一些更好的範例,但我發現的只是一個容器,所有參考文獻......我會接受你的答案,而不是。 –

0

聽起來很複雜。

如果您需要在窗口之間進行通信,那麼我會建議使用事件。

表單1引發一個事件,表單2響應它。在事件參數中傳遞所需的細節。

停止任何需要引用其他表單中的每個表單。