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