我只是想知道这是否是在GWT中分割小部件的正确方法,如果我太过分了,或者我错过了小部件/适当的GWT使用的概念。
我开始使用单个类(小部件), PCBuilder 。当 PCBuilder 变得太大时,我决定分支并创建两个类 SuggestionPanel 和 BuildControlPanel ,这两个类刚刚拆分 PCBuilder 的代码分成了仍可访问 PCBuilder 中方法的单独类:
这样,在我的 PCBuilder 类中,我可以执行类似的操作,将 SuggestionPanel 和 BuildControlPanel 添加到选项卡({ {3}})在 PCBuilder 的UiBinder中指定,同时允许 SuggestionPanel 和 BuildControlPanel 拥有各自独立的UiBinder规范:
我的问题是:这是正确的吗?我的一部分认为“不”只是因为它不是一个很好的方式。另一方面,它工作得很好,我的Web应用程序有点分解为可管理的“部分”,这是我想要的。
感谢您的任何见解。
答案 0 :(得分:2)
除了类之间存在循环依赖关系之外,它没什么问题。
为什么SuggestionPanel和BuildControlPanel需要调用PCBuilder?它有任何商业逻辑吗? RPC也许?将它分成另一个类。
首先,您可能需要查看GIN - 这会处理依赖注入。这对可测试性有好处。
其次,如果您的应用超出了一个“页面”,请查看GWT MVP。
答案 1 :(得分:1)
您不应将PCBuilder视为小部件。引用gwt -
您可以使用面板中包含的小部件在GWT应用程序中构建用户界面。窗口小部件允许您与用户交互。面板控制页面上用户界面元素的位置。
回到你的问题,我的看法是只有当我可以多次重复使用同一个元素时才创建小部件。我的其余布局逻辑进入视图。布局不应该尽可能地成为窗口小部件定义的一部分。总之,在css中推送样式,在视图中推送布局;仅当可重用(和核心)或向现有小部件添加其他功能时才进行小组件化。