正确的方法将GWT小部件拆分为更小的块

时间:2011-06-29 08:17:46

标签: gwt

我只是想知道这是否是在GWT中分割小部件的正确方法,如果我太过分了,或者我错过了小部件/适当的GWT使用的概念。

我开始使用单个类(小部件), PCBuilder 。当 PCBuilder 变得太大时,我决定分支并创建两个类 SuggestionPanel BuildControlPanel ,这两个类刚刚拆分 PCBuilder 的代码分成了仍可访问 PCBuilder 中方法的单独类:

example

这样,在我的 PCBuilder 类中,我可以执行类似的操作,将 SuggestionPanel BuildControlPanel 添加到选项卡({ {3}})在 PCBuilder 的UiBinder中指定,同时允许 SuggestionPanel BuildControlPanel 拥有各自独立的UiBinder规范:

example

我的问题是:这是正确的吗?我的一部分认为“不”只是因为它不是一个很好的方式。另一方面,它工作得很好,我的Web应用程序有点分解为可管理的“部分”,这是我想要的。

感谢您的任何见解。

2 个答案:

答案 0 :(得分:2)

除了类之间存在循环依赖关系之外,它没什么问题。

为什么SuggestionPanel和BuildControlPanel需要调用PCBuilder?它有任何商业逻辑吗? RPC也许?将它分成另一个类。

首先,您可能需要查看GIN - 这会处理依赖注入。这对可测试性有好处。

其次,如果您的应用超出了一个“页面”,请查看GWT MVP

答案 1 :(得分:1)

您不应将PCBuilder视为小部件。引用gwt -

  

您可以使用面板中包含的小部件在GWT应用程序中构建用户界面。窗口小部件允许您与用户交互。面板控制页面上用户界面元素的位置。

回到你的问题,我的看法是只有当我可以多次重复使用同一个元素时才创建小部件。我的其余布局逻辑进入视图。布局不应该尽可能地成为窗口小部件定义的一部分。总之,在css中推送样式,在视图中推送布局;仅当可重用(和核心)或向现有小部件添加其他功能时才进行小组件化。