Dependency Injection (DI) ਆਧੁਨਿਕ .NET ਵਿੱਚ ਬਿਲਟ-ਇਨ ਹੈ — ਫਰੇਮਵਰਕ ਵਿੱਚ ਇੱਕ DI ਕੰਟੇਨਰ ਸ਼ਾਮਲ ਹੈ ਜੋ ਸਵੈਚਲਿਤ ਤੌਰ 'ਤੇ ਕਲਾਸਾਂ ਨੂੰ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਉਹਨਾਂ ਦੇ ਡਿਪੈਂਡੈਂਸੀ ਇਨਜੈਕਟ ਕਰਦਾ ਹੈ। ਤੁਸੀਂ ਸਰਵਿਸਿਜ਼ ਨੂੰ ਰਜਿਸਟਰ ਕਰਦੇ ਹੋ (interfaces ਨੂੰ implementations ਨਾਲ ਮੈਪ ਕਰਦੇ ਹੋ) ਅਤੇ ਕੰਟੇਨਰ ਇਹਨਾਂ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ, ਲੂਜ਼ਲੀ-ਕਪਲਡ, ਟੈਸਟੇਬਲ ਕੋਡ ਸਮਰੱਥ ਕਰਦੇ ਹੋ। ਇਹ ASP.NET Core ਦੀ ਨੀਂਦ ਹੈ।
ਸਰਵਿਸਿਜ਼ ਨੂੰ ਰਜਿਸਟਰ ਕਰਨਾ
builder.Services.AddScoped<IUserRepository, UserRepository>();
builder.Services.AddSingleton<ICacheService, CacheService>();
builder.Services.AddTransient<IEmailSender, EmailSender>();
