Что такое стратегия извлечения? - PullRequest
1 голос
/ 02 ноября 2011

Я понимаю основную концепцию получения данных с использованием различных стратегий.Но я не могу найти хорошее резюме / определение ..

  • Это шаблон проектирования?Это вписывается в более широкий шаблон проектирования?
  • Это специфично для реализаций ORM?(Hibernate часто появляется)
  • Что это делает?(Должен ли) он возвращать коллекцию объектов-значений или ... что-нибудь, что вы хотите?
  • Существуют ли общие классы и методы, связанные с одним из них?

1 Ответ

0 голосов
/ 02 ноября 2011

Я не уверен, что Стратегия извлечения сама по себе является шаблоном проектирования, но на самом деле является частью класса шаблонов. Два примера: Ленивая загрузка и предварительная загрузка. Еще одна связанная с этим концепция - кэширование.

Они никак не связаны с ORM или Hibernate , но часто упоминаются там, так как вам необходимо настроить инструмент так, чтобы он действовал определенным образом, в отличие от кодирования это напрямую.

В целом, ваша стратегия выборки контролирует, как вы извлекаете данные в ваше приложение, и может (или не может) влиять на то, как создаются экземпляры объектов в вашем приложении для языка OO.

Если, например, вы обычно просматриваете весь набор данных (или набор объектов), то может быть более эффективно загружать весь набор сразу или эффективно предварительно выбирать данные, чтобы они были готовы к обработке .

С другой стороны, если вы часто обращаетесь только к первой части данных; или, возможно, конверт объекта вместо его содержимого, вы можете выбрать создание экземпляра только части верхнего уровня иерархии объектов вместо всего ее содержимого.

...