【发布时间】:2011-12-19 22:53:24
【问题描述】:
我了解使用不同策略检索数据的核心概念。但我找不到一个好的总结/定义..
- 这是一种设计模式吗?它是否适合更广泛的设计模式?
- 它是特定于 ORM 实现的吗? (Hibernate 经常出现)
- 它有什么作用?它是否(应该)返回值对象的集合,或者......任何你想要的东西?
- 是否有与之相关的通用类和方法?
【问题讨论】:
标签: architecture fetching-strategy
我了解使用不同策略检索数据的核心概念。但我找不到一个好的总结/定义..
【问题讨论】:
标签: architecture fetching-strategy
我不确定 Fetching Strategy 本身是一种设计模式,但确实是一类模式的一部分。两个例子是Lazy Loading 和预取。另一个相关概念是缓存。
它们不是特定于 ORM 或 Hibernate 的,但经常被提及,因为您需要将工具配置为以特定方式运行,而不是直接编码。
总体而言,您的获取策略控制着您如何将数据检索到应用程序中,并且可能(或可能不会)影响对象在您的应用程序中为 OO 语言实例化的方式。
例如,如果您通常遍历整个数据集(或对象集),那么一次加载整个数据集或有效地预取数据以便准备好处理可能会更有效.
另一方面,如果您经常只访问第一部分数据;或者可能是对象的信封而不是其内容,您可以选择仅实例化对象层次结构的顶层部分而不是其所有内容。
【讨论】: