2012-01-09 74 views
1

GWT Activities/Places/MVP概念在这里已经讨论了很多,但我还没有找到一个很好的例子来说明如何将这些概念应用到多对话门户GWT应用程序。GWT多个对话框应用程序架构和MVP/Activities/Places

我正在研究应该有多个独立小部件的GWT应用程序。这些小部件基于PopupPanel执行。每个小部件都可以在屏幕上移动,并且应该独立于其他部件。最初的意图是使用“活动和场所”方法。每个小部件都是一个活动,所有活动都将由同一个ActivityMapper和ActivityManager进行管理。但是在这种情况下,无论何时从菜单中打开新对话框,都会创建新的Place,并为当前打开的对话框调用mayStop()。由于在屏幕上可能存在多个相同类型的窗口小部件,因此每个窗口小部件类型都有一个ActivityMapper和ActivityManager不起作用。

GWT应用程序的体系结构应该如何在这种情况下看起来像?有什么建议么?

回答

1

一个地方就像一个URL,它似乎不符合你的需求,除非你建立一个包含所有小部件的累积状态的超级地方。

你绝对需要每个“小部件”正如我所说,每有组件类型ActivityMapper和ActivityManager(或不完全使用活动)

+0

的ActivityMapper和ActivityManager将没有真正的工作 - 可以有相同的几个小部件同时在屏幕上键入。有ActivityMapper和ActivityManager每个部件的实例看起来像一个矫枉过正的..我想我必须创造我自己的ActivityMapper和ActivityManager来处理屏幕上的小部件。 – dimchez 2012-01-09 22:50:24

+0

无论如何,这些“小工具”都必须从“超级地方”中提取他们的“地点信息”,因此您可以将该信息与“超级地方”中的某个唯一关键字相关联,并使用等效关键字初始化ActivityMapper;这样你就可以同时在几个“FooPlace”中浮动。但是正如我暗示的那样,如果每个“小部件”由单个Activity组成,那么每个“小部件”都有一个ActivityMapper/ActivityManager是矫枉过正的,并且您最好开发一个特定的ActivityManager。 – 2012-01-10 13:21:54

+0

感谢您的建议。我最终实现了自己的小部件管理器。 – dimchez 2012-01-10 16:44:52