Dependency Injection در .NET

Dependency Injection یا تزریق وابستگی یکی از مهم‌ترین قابلیت‌های .NET است که باعث کاهش وابستگی بین کلاس‌ها و افزایش قابلیت تست، توسعه و نگهداری برنامه می‌شود.

Dependency Injection چیست؟

در Dependency Injection، یک کلاس به جای ایجاد وابستگی‌های خود، آن‌ها را از بیرون دریافت می‌کند. این کار باعث می‌شود کلاس‌ها مستقل‌تر و قابل استفاده مجدد باشند.

ثبت سرویس


builder.Services.AddScoped<IEmailService, EmailService>();

تزریق سرویس در Constructor


public class HomeController : Controller
{
    private readonly IEmailService _emailService;

    public HomeController(IEmailService emailService)
    {
        _emailService = emailService;
    }
}

مزایای Dependency Injection

  • کاهش وابستگی بین کلاس‌ها
  • افزایش قابلیت تست (Unit Testing)
  • افزایش قابلیت توسعه
  • مدیریت ساده‌تر سرویس‌ها

جمع‌بندی

Dependency Injection یکی از مهم‌ترین الگوهای طراحی در .NET است و تقریباً تمام پروژه‌های ASP.NET Core از آن برای مدیریت سرویس‌ها و وابستگی‌ها استفاده می‌کنند.