4

我现在正在将应用程序从 GXT 2 迁移到 GXT 3。

两者之间的主要区别之一是 GXT 3.x 允许在小部件中使用 POJO,而 GXT 2.x 小部件需要实现 ModelData 的对象。

问题是我不能简单地将所有 ModelData 对象扔掉并使用 POJO,因为 ModelData 对象包含许多仅与 GUI 相关的附加属性。
因此,这些属性不能放在 POJO(真实应用模型)中。

最有可能的是,我最终会构建自己的 ModelData 接口和一组要在小部件中使用的对象。这看起来有点丑陋和非 GXT3 风格。

有没有其他方法可以解决这样的问题?或者也许有人已经面对它了?任何建议都受到高度赞赏。

4

2 回答 2

0

与 Chris Phillipson 的建议类似,您可以使用添加附加字段的客户端变体子类化您的 POJO,例如,您有一个名为 MyPojo 的类:

class MyPojo {
    private String name;
    private String address;
    ...
}

在客户端上,您有子类:

class MyClientPojo extends MyPojo {
     private String additionalInfo;
     ...
}
于 2013-04-24T11:09:18.430 回答
0

我的建议是创建一个您自己的 YourModelData 类,该类包装 YourModel 类并添加您可能需要用于显示的其他属性(我建议不要为此目的进行子类化,因为 ModelData不是YourModel,它只有一个)。没有什么可以阻止您使用 ModelData,但您不再需要这样做。

于 2013-04-24T11:33:38.970 回答