【发布时间】:2012-03-08 03:04:40
【问题描述】:
我认为最好开始描述我正在做的事情,并在最后把它们放在一起来解决这个大问题:
我正在使用 Google 的 GWT 构建一个网络应用程序,并在我开发移动客户端时封装某些代码以实现可重用性。到目前为止,我有以下项目:
app.core - 这包含所有数据对象 (POJO),例如 BasketItem、UserAddress 等
app.dao - 数据访问。这引用了上面的项目,并且有像 ItemDAO 这样的类,它负责与项目相关的持久化,例如void persistItem(BasketItem item, User user)
app.webapp - GWT 网络应用程序。这包含了上述 2 个类。我在客户端/服务器之间使用 GWT-RPC,服务器方法调用 DAO 来保存/检索/任何数据 app.server - 一个 RESTful 服务器应用程序,它也使用 DAO,它将提供基于 REST 的接口,用于对移动/其他客户端执行相同的数据操作
问题:如果客户端/服务器实现了 GWT IsSerializable,GWT 最适合在客户端/服务器之间传递数据对象(事实上,当我使用 Serializable 时会遇到问题)。但是,我不想将与 GWT 相关的 jar 添加到 app.core 项目中,也不希望 app.dao 等依赖 IsSerializable。我怎样才能最好地在整个应用程序中封装 dto,同时仍然使用 IsSerializable,因为它在 GWT 中效果最好。我应该继续扩展 app.webapp 中的核心对象并实现 IsSerializable 吗?
你会怎么做?
【问题讨论】:
标签: java gwt architecture dto