Sobes.tech
Junior

რა მიზნით გამოიყენება Dependency Injection C#-ში?

sobes.tech AI

პასუხი AI-სგან

C#-ში დამოკიდებულების ინექცია (DI) გამოიყენება კლასებს შორის დამოკიდებულებების მართვისთვის, რაც ზრდის კოდის მოქნილობას და ტესტირებადობას.

DI-ის ძირითადი მიზნები:

  • მოწყობის გამკაცრება: კლასები პირდაპირ არ ქმნიან თავიანთ დამოკიდებულებებს, არამედ იღებენ მათ გარედან.
  • ტესტირების გამარტივება: დამოკიდებულებები ადვილად შეიძლება შეიცვალოს mocks ან stubs-ით.
  • მოწყობის გაუმჯობესება: დამოკიდებულების განხორციელების შეცვლა არ საჭიროებს კოდის შეცვლას, რომელიც მას იყენებს.

მაგალითი:

public interface ILogger { void Log(string message); }

public class ConsoleLogger : ILogger {
    public void Log(string message) => Console.WriteLine(message);
}

public class UserService {
    private readonly ILogger _logger;
    public UserService(ILogger logger) {
        _logger = logger;
    }
    public void CreateUser(string name) {
        // მომხმარებლის შექმნის ლოგიკა
        _logger.Log($"მომხმარებელი {name} შექმნილია.");
    }
}

// დამოკიდებულების ინექცია
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");

ამ გზით, DI ხელს უწყობს კონტროლის უკუღმართ გადატანას (IoC) და აუმჯობესებს აპლიკაციის არქიტექტურას.