AdSense - шапка

суббота, 3 декабря 2011 г.

PHP. Ленивая инициализация (Lazy initialization)

Сегодня я хочу рассказать о ленивой, или отложенной инициализации.

Наиболее часто в web-разработке применяется принцип создания объекта непосредственно перед обращением к нему (здесь понимается, что создание объекта - трудоёмкая операция). Что нам это дает:
  1. Приложение быстрее инициализируется.
  2. Приложение может быстрее работать.
Рассмотрим на примере ленивой инициализации соединения с базой данных. Если, например, приложение генерирует страницу и ему не понадобилась база, то соединение с ней и не будет создано, а, значит, общее время работы скрипта уменьшится.

Для чего можно применять ленивую инициализацию?
  1. Как я уже сказал, для создания соединения с базой данных.
  2. Для обращения к данным из кэша - если они не нужны для генерации страницы, то и не следуют обращаться к кэшу.
  3. Для получения данных от других веб-приложений. Причина аналогична.
  4. Для загрузки изображений при работе с gd2 или какой - либо иной графической библиотекой php.