Отложенная инициализация (Lazy initialization)

Шаблон Отложенная инициализация позволяет отсрочить действия, связанные с созданием объекта, до момента, когда непосредственно потребуется результат этих действий. Данный шаблон используется, если создание объекта связано с большими затратами ресурсов, или если есть вероятность, что объект или его часть не будут использованы. При использовании шаблона необходимо учитывать факт появление задержки при первом обращении к объекту или некоторым его методам.

Стандартный класс платформы.NET System.Lazy<T> служит для поддержки отложенной инициализации объектов. Данный класс содержит булево свойство для чтения IsValueCreated и свойство для чтения Value типа T. Использование Lazy<T> позволяет задержать создание объекта до первого обращения к свойству Value. Для создания объекта используется либо конструктор типа T без параметров, либо функция, передаваемая конструктору Lazy<T>.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: