【问题标题】:GWT multiple dialogs application architecture and MVP/Activities/PlacesGWT 多对话框应用架构和 MVP/Activity/Places
【发布时间】:2012-01-10 06:37:34
【问题描述】:

GWT 活动/地点/MVP 概念在这里讨论了很多,但我还没有找到一个很好的例子来说明如何将这些概念应用到类似于多对话门户的 GWT 应用程序中。

我正在开发一个应该有多个独立小部件的 GWT 应用程序。这些小部件是基于PopupPanel 实现的。每个小部件都可以在屏幕上移动,并且应该独立于其他小部件。最初的意图是使用活动和地点的方法。每个小部件都是一个活动,所有活动都由同一个 ActivityMapper 和 ActivityManager 管理。但在这种情况下,每当从菜单打开新对话框时,都会创建新的 Place 并为当前打开的对话框调用 mayStop()。为每个小部件类型设置一个 ActivityMapper 和 ActivityManager 也不行,因为屏幕上可能有多个相同类型的小部件。

在这种情况下,GWT 应用程序的架构应该是什么样子?有什么建议吗?

【问题讨论】:

    标签: gwt gwt-mvp gwt-places gwt-activities


    【解决方案1】:

    地点就像一个 URL,它似乎不能满足您的需求,除非您构建一个包含所有小部件的累积状态的超级地点。

    每个“小部件”绝对需要一个 ActivityMapper 和 ActivityManager(或完全不使用活动)

    【讨论】:

    • 正如我所提到的,为每个小部件类型设置 ActivityMapper 和 ActivityManager 并不会真正起作用 - 屏幕上可能同时存在多个相同类型的小部件。每个小部件都有 ActivityMapper 和 ActivityManager 的实例似乎有点过头了。我想我必须发明自己的 ActivityMapper 和 ActivityManager 来处理屏幕上的小部件。
    • 那些“小部件”无论如何都必须从“超级地点”中提取他们的“地点信息”,因此您可以将该信息与“超级地点”中的某个唯一键相关联,并初始化 ActivityMapper使用等效密钥;这样您就可以同时漂浮几个“FooPlace”。但正如我以某种方式暗示的那样,如果每个“小部件”都由一个 Activity 组成,那么每个“小部件”都有一个 ActivityMapper/ActivityManager 是矫枉过正的,你最好按照你的建议开发一个特定的 ActivityManager。
    • 感谢您的建议。我最终实现了自己的小部件管理器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    相关资源
    最近更新 更多