如何将SQL查询映射到内存模型对象?

时间:2013-11-10 18:20:02

标签: model-view-controller

假设我们正在使用MVC(也就是商店/服务)构建应用程序。 SQL用作持久性机制。记忆效率是一个主要问题。

显然,我们应该利用SQL查询,只在需要时在理论对象中询问我们的模型字段。

例如,移动应用可能需要显示文章的标题列表,而文章正文在用户点击特定标题之前不会显示。在这种情况下,我们首先向SQL询问标题。

问题是,模型对象应该是什么样的?

我能想到的解决方案是:

  1. 使用一些指示填充了哪些字段的状态来增强模型。这也可以通过在模型对象的未填充字段上使用nil / NULL / None值进行存档。

  2. 将理论模型拆分为多个类。按照上一个示例,我们可以有一个Article类和一个ArticleDetail类,并且具有一对一的关系。

  3. 忘记Store对象,让每个模型对象懒惰地评估它的代价高昂的字段。该模型必须知道其持久性机制。

  4. 这应该是一个常见问题。您喜欢的框架/库中的ORM如何解决它?任何最佳做法?

0 个答案:

没有答案