GWT Composite最佳实践

时间:2009-02-16 05:34:07

标签: gwt composite

我正在学习GWT,并开始了解它。我正处于我的代码变得混乱的地步,所以我要回去并将其合理地分解为复合材料。我遇到的第一个问题是我的工具支持未能为新的Composite类提供initWidget()方法。它确实包含一个默认构造函数 目前,我只是通过调用initWidget()来填充我重写的super(initWidget(w))方法。我的项目编译并按预期运行,尽管我觉得我必须遗漏一些东西。

当覆盖init时我应该记住什么,以及如果我需要在构造函数中放置什么。还有什么我需要知道的,或者只是在此之后归结为普通的旧Java?

澄清 - 我发现这个问题可能有不同的答案取决于您是打算将所述Composite课程作为图书馆的一部分发布,还是仅仅是您的独立应用程序的一部分。我此时无意开发外部有用的组件(主要是因为我在这项特殊技术中如此绿色。)

谢谢!

2 个答案:

答案 0 :(得分:7)

我不确定我是否明白你要做什么。但对于我写过的所有复合材料,我从未覆盖过initWidget方法。因为Composite本身不需要用构造函数初始化,即不需要调用super(),我的构造函数的小部件扩展复合看起来像:

public mywidget() {
  SomePanel p = new SomePanel();
  ....
  initWidget(p);
}

作为最佳实践,imo,只有扩展Composite的小部件应该称之为'自己的'initWidget。

答案 1 :(得分:2)

GWT Conference: Best Practices for Building Libraries”提供了一些提示。您还应该查看GWT的来源以及GWT的其中一个库的来源(如gwt-ext

[编辑]我刚看到另一个选项:suco。从描述:

  

一个微型库,有助于维护您的GWT客户端代码清洁和模块化。