2011-06-09 66 views
4

我有一個場景,GWT Web應用程序將提供一個概覽頁面,顯示來自Web應用程序其他頁面的不同部分。該頁面將分爲幾個區域,每個區域將顯示另一頁面上存在的內容。頁面應該支持每個區域的內容是可變的,這意味着一個用戶應該可以顯示來自第1,2和3頁的信息,而另一個用戶可能想要看到來自第2,4和5頁的信息。GWT中的嵌套視圖或單個視圖?

該應用程序使用MVP模式與活動和地點。我對如何建立這樣一個頁面兩個想法:

  1. 充分利用OverviewView嵌套嵌套視圖,且具有概述中的每個區域ActivityMappers。然後存在一個應該能夠顯示的每個頁面的活動和視圖。具有特定狀態的地方可用於使用ActivityMappers爲特定用戶構建特定的OverviewView。

  2. 有一個處理邏輯以決定在每個區域中顯示哪些信息的OverviewActivity,以及一個包含佔位符(div)的OverviewView。可以使用具有特定狀態的地方使OverviewActivity用特定的信息配置填充視圖。

您更喜歡哪種方式?爲什麼?或者你有其他解決方案嗎?

Ps。我希望我已經清楚,否則告訴我,我可以補充。

回答

2

我會被引向選項1:嵌套的ActivityMappers。

這具有以下優點:

  • 鬆耦合:父頁面沒有與子頁面的交互細節,MVP的模型處理它
  • 更少的代碼:MVP的模型將處理'mayStop'事件,以防止用戶嘗試導航時子頁面處於編輯模式
  • 易於擴展:對於具有較大屏幕的用戶,您可以支持較少工作量的大量嵌套面板

缺點:

  • 你需要一個聰明的策略,以適應與書籤歷史模型:它期望在那裏只有一個活動映射器集成。它仍然是可以實現的,你只需要爲它設計一個漂亮的設計。
+0

類似的方法演示者(http://code.google.com/p/gwt-platform/wiki/GettingStarted?tm=6#Nested_presenters)。 – z00bs 2011-06-10 09:49:24