Dependency Injection (DI) ఆధુनిక .NET లో నిర్మితమైనది — ఫ్రేమ్వర్క్ DI కంటైనర్ను కలిగి ఉంది, ఇది క్లాస్లను స్వయంచాలకంగా నిర్మించి వాటి డిపెండెన్సీలను ఇంజెక్ట్ చేస్తుంది. మీరు సేవలను నమోదు చేస్తారు (interfaces లను implementations కు మ్యాపింగ్ చేస్తారు) మరియు కంటైనర్ వాటిని పరిష్కరిస్తుంది, loosely-coupled, testable కోడ్ ను ఎనేబల్ చేస్తుంది. ఇది ASP.NET Core కు ఆధారం.
సేవలను నమోదు చేయడం
builder.Services.AddScoped<IUserRepository, UserRepository>();
builder.Services.AddSingleton<ICacheService, CacheService>();
builder.Services.AddTransient<IEmailSender, EmailSender>();
