Junior
Mit szolgál a Dependency Injection a C# fejlesztésben?
sobes.tech MI
Válasz az MI-től
A Dependency Injection (DI) a C#-ban a függőségek kezelésére szolgál osztályok között, növelve a kód rugalmasságát és tesztelhetőségét.
A DI fő céljai:
- Gyengíteni a kötést: az osztályok nem közvetlenül hozzák létre a függőségeiket, hanem kívülről kapják azokat.
- Egyszerűsíteni a tesztelést: könnyen helyettesíthetők a függőségek mock vagy stub segítségével.
- Javítani a karbantarthatóságot: a függőség megvalósításának módosítása nem igényli a használó kód módosítását.
Példa:
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) {
// felhasználó létrehozási logika
_logger.Log($"Felhasználó {name} létrehozva.");
}
}
// Függőség injektálás
var logger = new ConsoleLogger();
var userService = new UserService(logger);
userService.CreateUser("Alice");
Így a DI az irányítás fordított (IoC) elvét támogatja, és javítja az alkalmazás architektúráját.