Отложенная инициализация

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Шаблон проектирования
Отложенная (ленивая) инициализация
Lazy initialization
Описан в Design Patterns

Нет

Отложенная (ленивая) инициализация (англ. Lazy initialization). Приём в программировании, когда некоторая ресурсоёмкая операция (создание объекта, вычисление значения) выполняется непосредственно перед тем, как будет использован её результат. Таким образом, инициализация выполняется «по требованию», а не заблаговременно. Аналогичная идея находит применение в самых разных областях: например, компиляция «на лету» и логистическая концепция «Точно в срок».

Частный случай ленивой инициализации — создание объекта в момент обращения к нему — является одним из порождающих шаблонов проектирования. Как правило, он используется в сочетании с такими шаблонами как Фабричный метод, Одиночка и Заместитель.

Достоинства[править | править вики-текст]

  • Инициализация выполняется только в тех случаях, когда она действительно необходима;
  • ускоряется начальная инициализация.

Недостатки[править | править вики-текст]

  • Невозможно явным образом задать порядок инициализации объектов;
  • возникает задержка при первом обращении к объекту.

Примеры реализации[править | править вики-текст]

C++[править | править вики-текст]

Java[править | править вики-текст]

C#[править | править вики-текст]

VB.NET[править | править вики-текст]

Python[править | править вики-текст]

PHP[править | править вики-текст]

Ссылки[править | править вики-текст]

Русскоязычные сайты

 См. также[править | править вики-текст]