假设我们正在使用MVC(也就是商店/服务)构建应用程序。 SQL用作持久性机制。记忆效率是一个主要问题。
显然,我们应该利用SQL查询,只在需要时在理论对象中询问我们的模型字段。
例如,移动应用可能需要显示文章的标题列表,而文章正文在用户点击特定标题之前不会显示。在这种情况下,我们首先向SQL询问标题。
问题是,模型对象应该是什么样的?
我能想到的解决方案是:
使用一些指示填充了哪些字段的状态来增强模型。这也可以通过在模型对象的未填充字段上使用nil / NULL / None值进行存档。
将理论模型拆分为多个类。按照上一个示例,我们可以有一个Article
类和一个ArticleDetail
类,并且具有一对一的关系。
忘记Store对象,让每个模型对象懒惰地评估它的代价高昂的字段。该模型必须知道其持久性机制。
这应该是一个常见问题。您喜欢的框架/库中的ORM如何解决它?任何最佳做法?