В чем смысл использовать Lazy в данном случае?

Рейтинг: 0Ответов: 0Опубликовано: 26.01.2023

В проекте нашел следующее:

public partial class IdentifierLogic                                          
    : BaseEntityLogic<Identifier>                                             
{                                                                                                                                                      
    private readonly Lazy<AccessControlListLogic> _accessControlListService = 
        new( () => new AccessControlListLogic() );                            
                                                                              
    private readonly SystemLogic _systemLogic;                                
    private readonly Channel<AclEvent> _eventEmitter;                         
                                                                              
    public IdentifierLogic(                                                   
        ISegmentDbContextFactory dbContextFactory,                            
        Channel<AclEvent> eventEmitter )                                      
        : base( dbContextFactory )                                            
    {                                                                         
        _systemLogic = new SystemLogic( dbContextFactory );                   
        _eventEmitter = eventEmitter;                                         
    }           

                 

У меня вопрос: почему тут используется Lazy, когда этого можно не делать, как мне кажется. Сервис стартует и работает все время жизни, поэтому можно считать, что Lazy всегда тоже будет инициализирован. И никакого выигрыша в производительности, я тут, если честно, не вижу

Ответы

Ответов пока нет.