Sobes.tech
Junior

C# өнүктүрүүдө Dependency Injection эмне үчүн керек?

sobes.tech AI

AIден жооп

C# тилинде Байланыштарды киргизүү (DI) класстар ортосундагы көзкарандылуулукту башкаруу үчүн колдонулат, бул коддун ийкемдүүлүгүн жана тестирлөө мүмкүнчүлүгүн жогорулатат.

DIнин негизги максаттары:

  • Туташтыкты төмөндөтүү: класстар өз көзкарандылуулуктарын түздөн-түз түзбөйт, тескерисинче сырттан алат.
  • Тестти жөнөкөйлөтүү: көзкарандылуулуктарды оңой эле mock же stub менен алмаштыруу мүмкүн.
  • Күтүү жана тейлөөдө жакшыртуу: көзкарандылуулуктун ишке ашырылышын өзгөртүү колдонуп жаткан кодду өзгөртүүнү талап кылбайт.

Мисал:

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) илгерилетет жана колдонмо архитектурасын жакшыртат.