Лінива ініціалізація

Відкладена (лінива) ініціалізація (англ. Lazy initialization) — прийом в програмуванні, коли деяка ресурсномістка операція (створення об'єкта, обчислення значення) виконується безпосередньо перед тим, як буде використаний її результат. Таким чином, ініціалізація виконується "на вимогу", а не завчасно. Аналогічна ідея знаходить застосування в самих різних галузях: наприклад, компіляція «на льоту» і логістична концепція «Точно в строк».

"Lazy factory"

В патернах проєктування lazy initialization часто використовується разом з патерном фабричного методу. Тут комбінуються три ідеї:

  • використання фабричного методу для отримання екземпляра класу
  • збереження екземплярів у відображенні(Map), так що наступного разу можна запросити цей же екземпляр ( Мультитон, Unit Of Work, тощо)
  • використання lazy initialization для створення екземпляра об'єкта якраз тоді, коли поступає запит

Приклади

C#

Java

JavaScript


Посилання


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.