В чем смысл использовать Lazy в данном случае?
В проекте нашел следующее:
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 всегда тоже будет инициализирован. И никакого выигрыша в производительности, я тут, если честно, не вижу
Источник: Stack Overflow на русском