Страницы

Поиск по вопросам

пятница, 10 января 2020 г.

Как назвать такой фрагмент кода?

#c_sharp #шаблоны_проектирования


private IMyType myProperty;

public IMyType MyProperty
{
    get
    {
        if(myProperty==null)
        {
            myProperty = AppKernel.Get();
        }
        return myProperty;
    }
}


Как называется эта техника (создание экземпляра объекта в случае, если ссылка на
объект пустая)? Является ли это каким-то паттерном? Во многих примерах вижу такой подход.
Интересно, имеет ли он какое-то название?
    


Ответы

Ответ 1



Это называется ленивая инициализация. Как правило такой подход используется, когда объект слишком громоздкий, и инициализировать все его поля сразу - отнимет время. С таким подходом поля будут инициализироваться во время первого обращения к ним. Это применяется в работе с базами данных, в частности, в ORM, например. Без крайней необходимости делать ленивую инициализацию не стоит.

Комментариев нет:

Отправить комментарий