0

我刚刚开始涉足谷歌猿引擎。现在我正在使用 JDO 和数据存储来持久化我的数据。到目前为止非常酷,我的大部分工作都按我想要的方式工作。但是,我有一些标准练习题。我的直觉告诉我,我做出的几个设计选择即使不是完全糟糕也不是最好的。

你通常有一个“包装器”类型的类来处理每个持久对象的获取、更新、插入和删除吗?(这感觉有点矫枉过正)

我不对 Query.execute 进行任何类型检查?(这看起来确实是错误的)

我所有的类都在每个对象中使用 IDGeneratorStrategy.IDENTITY,我猜这些对象可能在基类中?

正如我所说,我刚刚开始涉足这个问题,如上述问题所示,但任何输入或链接将不胜感激。仅供参考,我的最终结果是使用应用程序引擎作为 android 应用程序的数据存储。然而,我对 appengine 的了解越多,我认为我可以将它用于更多的事情,而不仅仅是为我的 android 应用程序存储数据。

4

1 回答 1

0

Wrapper 类型:不,你为什么要这样做?你使用对你的应用程序有意义的东西,如果有些东西变得笨拙,你就重新设计它。所有应用程序都不同。

Query.execute 上的类型检查: JDO 实现检查传入的数据类型,您还可以进一步使用 DataNucleus JDO Typesafe 查询(在某些时候可能是 JDO3.2 的一部分)。为此,您需要 GAE JDO 插件的 v2

基类的 IDENTITY 策略部分:不建议这样做……将其作为基类意味着所有对象的所有 id 都是通用的(即都在同一继承树中),并且所有 id 值都来自同一来源。最好有基于角色的类。

于 2012-07-11T08:28:47.047 回答