假設我們已經部件/面板的以下結構GWT應用程序 -管理在GWT
- 其中用於導航到不同的應用DockLayoutPanel的左側有一個樹形菜單。
- 在DockLayoutPanel和不同的內容窗口小部件的中心的面板得到裝載在該面板(這是由導航樹菜單控制。
- 這些內容窗口小部件是含有一個或多個窗口小部件的複合材料。
處理這種應用程序的一種方法是爲所有小部件/面板保留單例,這意味着複合材料將持有所有子小部件的單例,但我認爲這是單例的過度使用;另一種方法是每構建一個新的Widget對象需要一次性的,但這必須是昂貴的。
圍繞這一點的最佳做法是什麼?是否有任何標準模式來處理這個問題?
我們沿用了ActiveGrade的類似路徑,現在按需創建大部分小部件。很棒。如果我要優化交互速度,我的下一個猜測就是創建widgets預先需求 - 但我仍然會避免單例。太複雜。 – 2012-07-27 15:22:26
我完全同意。而且 - 即使在你需要優化的情況下 - 單身並不是答案。相反,請繼續引用您需要在其他對象的字段,列表,地圖或其他內容中重用的小部件。然後確保構建一個非常乾淨的機制,在重新使用它們之前重新初始化這些小部件! – 2012-07-27 16:45:42