English 中文(简体)
GWT的组合最佳实践
原标题:
  • 时间:2009-02-16 05:34:06
  •  标签:

I m learning GWT and have started to get the hang of it. I m at the point where my code is getting to be a spaghetti mess so I m going back and factoring reasonable bits of it out as Composites. The first problem I ran into was that my tool support failed to give the new Composite class an initWidget() method. It did include a default constructor.
For the time being, I ve simply filled in my overridden initWidget() method with a call to super(initWidget(w)) My project compiles and runs as expected, though I feel as though I must be missing something.

当重写init方法时,我应该注意什么,我需要在构造函数中放置什么。除此之外,还有什么需要知道的吗?还是只需要遵循普通的Java操作即可?

澄清 - 我意识到,根据您是想将所述 组合 类作为库的一部分发布还是仅作为您独立的应用的一部分发布,这个问题可能会有不同的答案。我个人目前没有开发外部有用组件的意图(主要是因为我在这个特定的技术上还不够熟练)。

谢谢!

最佳回答

我不确定我是否理解你试图做什么。但对于我编写的所有复合组件,我从未覆盖了initWidget方法。因为Composite本身不需要使用构造函数进行初始化,即无需调用super()。我扩展复合组件的小部件的构造函数看起来像:

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

作为最佳实践,我认为,只有扩展Composite的小部件才应该调用自己的initWidget。

问题回答

GWT 会议:构建库的最佳实践”提供了一些提示。您还应该查看 GWT 的源代码以及 GWT 库之一(如gwt-ext)的源代码。”

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

一个微型库,可以帮助维护你的GWT客户端代码的干净和模块化。





相关问题
热门标签