2011-01-27 29 views
0

我們目前正在構建一個應用程序,它以不同方式同時可視化數千個實體 - 例如在地理地圖視圖或數據網格中。基於組件的應用程序中項目選擇的模式

這些實體是按層次組織的,因此存在各種有意義的實體子組。

此外,地圖視圖允許您使用lasoo類型的工具進行任意選擇。

我們需要的是讓所有視圖同步,以便您在一個視圖中選擇的內容反映在其他視圖中。

這些視圖組件中的每一個都不相互瞭解。

我正在尋找設計模式和/或開放源代碼應用程序來演示覆雜的多視圖應用程序中項目選擇的方法。

回答

1

我會用一個event-listener pattern(發佈/訂閱如果你喜歡)

您可以在創建模型類SelectionManager或其他地方,其中的觀點可以訪問它。

所有視圖訂閱選擇以獲取selectionChanged(SelectionEvent e)事件。 活動視圖(與之交互的一個用戶)將向SelectionManager報告(發佈)此事件,觸發selectionChanged(SelectionEvent e)。

當視圖獲取此事件並且視圖不是此事件的來源(發起者/發佈者)時 - 更新其選擇。

相關問題