将对象或原始ID传递给其他类?

时间:2015-07-12 12:32:09

标签: design-patterns

我正在构建一个用户可以创建新对象的应用程序(例如,articles)。每篇文章都有一个原始的唯一ID,所有这些文章都存储在SQL数据库中,也存储在数据集的本地(例如,articleHolder列表)。

为了保持数据的新鲜,我不时地从SQL DB重建整个本地acricleHolder。这会导致article个对象具有新引用。因为我必须非常小心,因为我可能会得到内存泄漏或重复项目。

例如,如果我在另一个类中传递article对象(例如,FavoriteArticleView,之后使用具有新引用的所有articleHolder对象重建article数据集ids,FavoriteArticleViewarticleHolder中的文章可能相同,但引用不同,因此它们被视为不同。

据我所知,我有两个解决方案:

  • 将原始ID传递给新类(FavoriteArticleView),然后在article数据集中查找articleHolder对象。此查找可能会产生开销,具体取决于articleHolder大小和类型。
  • 传递对象,但不是完全重建articleHolder数据集,而是更新对象的内容。这将导致维护对象的引用,但需要更多的工作。

有没有更好的解决方案?

0 个答案:

没有答案