0

我想知道如何为我的应用程序正确构建我的目录。我正在使用 GWT(也是 GWTP)和 GAE,并且我有一个网站(“正常模式”)及其管理(“管理模式”)。所以我做了以下事情:

  • 源代码
    • com
      • 马纳纳塞古罗
        • 客户
            • 行政
              • 应用程序
              • 第 1 页
              • 第2页
              • 小部件
              • ETC...
            • 普通的
              • 应用程序
              • 第 1 页
              • 第2页
              • 小部件
              • ETC...
            • 错误
            • 验证
      • 资源
      • ETC...
    • 服务器
      • 吉斯
      • 处理程序
        • 行政
        • 普通的
    • 共享
      • 行动
        • 行政
        • 普通的
一切都不完整(域名...),因为我现在正在学习 GWTP 和 GWT 和 GAE。我还阅读了有关使用不同模块的信息,主要是因为它会减小要下载的应用程序的大小,但我确实在网上找到了任何简单的示例。如果有人可以帮助我,那就太好了,因为我认为项目目录结构非常重要。谢谢。

4

1 回答 1

0

我已经使用 GWT 构建了一个相对较大的应用程序,并且我遵循了 Google 的最佳实践,并且我已经看到是的,它可以工作。通常,GWT 人们告诉我们 MVP。

MVP 将您的应用程序解耦为可帮助您管理整个应用程序开发的部分。

通常,当您使用 MVP 时,您的应用程序将包含入口点,该入口点将包含:

public class Contacts implements EntryPoint {

  public void onModuleLoad() {
    ContactsServiceAsync rpcService = GWT.create(ContactsService.class);
    HandlerManager eventBus = new HandlerManager(null);
    AppController appViewer = new AppController(rpcService, eventBus);
    appViewer.go(RootPanel.get());
  }
}

如您所见,它创建客户端 RPC、用于通知事件的事件总线、作为根的应用程序控制器并控制应用程序中的所有内容,例如更改视图、注册事件

应用程序控制器还实现ValueChangeHandler<String>了允许它在历史更改时听到并据此采取行动,例如更改视图。然后你将拥有:

  1. 楷模
  2. 意见
  3. 演讲者

该模型可与您的服务器共享。演示者声明了视图实现的接口。然后,演示者和视图通过接口进行对话,并且演示者和服务器通过rpcService您在入口点中声明并注入应用程序控制器的方式进行对话。

此外,如果您以这种方式实现您的应用程序,您将受益,因为当您使用 JUNIT 进行测试时,您只能测试演示者,因此绕过视图。因为如果您在测试中包含视图,它将花费大量时间. 视图将声明小部件,但演示者可以从视图中导入接口以与小部件交互

最后,应用层次结构如下:

--com.example.name.clients:

--AppController --name.java
--name.Service.java
--name.ServiceAsync.java

--com.example.name.events:

--com.example.name.presenters:

--com.example.name.views:

--com.example.name.models:

--com.example.name.server:

--com.example.name.shared:

这里查看更多信息,

于 2012-05-10T08:17:23.477 回答