さまざまな戦略を使用してデータを取得するというコアコンセプトを理解しています。しかし、私は良い要約/定義を見つけることができません。
- デザインパターンですか?より広いデザインパターンに適合しますか?
- ORMの実装に固有ですか?(休止状態がたくさん出てきます)
- それは何をするためのものか?値オブジェクトのコレクション、または...必要なものを返しますか(すべきですか)?
- 1つに関連付けられている一般的なクラスとメソッドはありますか?
さまざまな戦略を使用してデータを取得するというコアコンセプトを理解しています。しかし、私は良い要約/定義を見つけることができません。
Fetching Strategy自体が設計パターンであるかどうかはわかりませんが、実際にはパターンのクラスの一部です。2 つの例は、遅延読み込みとプリフェッチです。関連するもう 1 つの概念は、キャッシングです。
それらはORMまたはHibernateに固有のものではありませんが、ツールを直接コーディングするのではなく、特定の方法で動作するように構成する必要があるため、頻繁に言及されています。
全体として、フェッチ戦略は、データをアプリケーションに取得する方法を制御し、OO 言語のアプリケーションでオブジェクトをインスタンス化する方法に影響する場合もあれば、影響しない場合もあります。
たとえば、通常、データ セット全体 (またはオブジェクトのセット) を処理する場合は、セット全体を一度に読み込むか、データを効果的にプリフェッチして処理の準備を整える方が効率的です。
一方、データの最初の部分にのみアクセスすることが多い場合。あるいは、オブジェクトのコンテンツではなくエンベロープの場合、すべてのコンテンツではなく、オブジェクト階層の最上位部分のみをインスタンス化することを選択できます。