java - GWT 代码分割集成 : MVP and Activites/Places

标签 java gwt mvp gwt-activities gwt-places

很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center .




9年前关闭。




假设您有一个包含选项卡式 Pane 的“显示区域”( AcceptsOneWidget )。单击不同的选项卡(即,从“fantastico”到“profile”)会导致 Pane 内显示全新的内容。这似乎是代码拆分的完美用例,因为在用户单击“配置文件”选项卡之前,他们不需要下载显示它所需的代码。 ( 注意: 如果任何 GWT 专家不同意并且认为这不是代码拆分的正确用例,请向我指出,但这不是这个问题的重点,所以请忍耐与我一起!)

enter image description here

现在,如果我对基本 GWT 体系结构的理解是正确的,那么显示“配置文件”选项卡所需的代码由 Activity 组成。 (IES),Place (s),也许是一些 MVP 的东西,例如 Presenter , Module , EntryPoint等。当然,这取决于应用程序和开发人员(正如我在 GWT 中了解到的,有很多方法可以实现相同的目标),但无论如何,它都是一堆 MVP/Activity/Place “东西”。为了这个问题,我喜欢this SO question的回答者提出的模型.

看完this article on the AsynchProvider pattern我试图将所有这些最佳实践结合在一起并实现一个架构:

  • 我实现了代码拆分,使得 Pane 中的每个选项卡都是代码拆分(是代码拆分吗?codeplat?)作为它自己的片段,并且只有当/当用户第一次点击它时才会下载
  • 显示/渲染/实现每个片段(选项卡/ Pane )所需的所有代码都整齐地组织并遵循 AsynchProvider上述文章中引用的模式;这允许它被划分并且不依赖于其他片段

  • 我开始将所有部分放在一起,但仍然没有看到这两个概念如何在工作代码中联系在一起。

    我发现 GWT 是神秘的、强大的和美妙的,但是如果没有可遵循的实际代码示例,则很难学习。当然,这些线框在“fantastico”或“配置文件” Pane 中并没有真正显示出任何复杂性,所以请再次忍受并假装它们都是相当复杂的显示区域,具有许多丰富的 UI 组件。提前致谢!

    最佳答案

    如果显示区域包含 tabpane,那么无论您使用的是 Activity 还是地点都没有关系。

    要拆分选项卡内容,使用 SimplePanel 就足够了作为真正的标签内容,并通过监听 SelectionEvent 来加载其内容s。
    或者,您可以使用 LazyPanel谁的createWidget将返回 SimplePanel并异步加载其余代码。

    关于java - GWT 代码分割集成 : MVP and Activites/Places,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13026914/

    相关文章:

    java - 为什么 Facebook SDK 无法导入我的 Android 项目?

    java - 如何运行一个进程的多个实例?

    java - GWT JQueryUI 对话框包装器不是 "attaching widget"

    css - GWT setWidth 和 Internet Explorer

    html - 如何设计适用于各种分辨率的网页

    model-view-controller - 新的 Web 应用程序应该遵循 MVC 还是 MVP 模式?

    java - Eclipse 中的 Mapbox Android

    java - 如何抑制 Octave io 包加载警告 : "OpenJDK 64-Bit Server VM warning: Archived . .. java.system.class.loader 属性

    asp.net - 在 ASP.NET Web Form 中收集输入值的推荐方法是什么

    android - MVP 模型 - 在哪里调用由其他事件触发的事件而不是由用户触发的事件( View )