#c_sharp #шаблоны_проектирования
private IMyType myProperty;
public IMyType MyProperty
{
get
{
if(myProperty==null)
{
myProperty = AppKernel.Get();
}
return myProperty;
}
}
Как называется эта техника (создание экземпляра объекта в случае, если ссылка на
объект пустая)? Является ли это каким-то паттерном? Во многих примерах вижу такой подход.
Интересно, имеет ли он какое-то название?
Ответы
Ответ 1
Это называется ленивая инициализация. Как правило такой подход используется, когда объект слишком громоздкий, и инициализировать все его поля сразу - отнимет время. С таким подходом поля будут инициализироваться во время первого обращения к ним. Это применяется в работе с базами данных, в частности, в ORM, например. Без крайней необходимости делать ленивую инициализацию не стоит.
Комментариев нет:
Отправить комментарий