Junior — Middle
Μπορείτε να δώσετε παραδείγματα DI-δοχείων που χρησιμοποιούνται στην ανάπτυξη;
sobes.tech AI
Απάντηση από AI
Στη C# χρησιμοποιούνται ευρέως διάφορα δοχεία Εισαγωγής Εξαρτήσεων (Dependency Injection, DI). Ακολουθούν μερικά δημοφιλή παραδείγματα:
- Microsoft.Extensions.DependencyInjection — ενσωματωμένο δοχείο στο .NET Core και .NET 5+, απλό και αποτελεσματικό για τις περισσότερες εργασίες.
- Autofac — ισχυρό και ευέλικτο δοχείο με προηγμένες δυνατότητες, υποστηρίζει πολύπλοκα σενάρια.
- Ninject — βολικό και εύκολα επεκτάσιμο δοχείο με συνοπτική σύνταξη.
- Unity — δοχείο από τα Microsoft Patterns & Practices, υποστηρίζει πολλές λειτουργίες.
Παράδειγμα χρήσης του ενσωματωμένου δοχείου:
var services = new ServiceCollection();
services.AddTransient<IRepository, Repository>();
var provider = services.BuildServiceProvider();
var repo = provider.GetService<IRepository>();
Αυτά τα δοχεία βοηθούν στη διαχείριση του κύκλου ζωής των αντικειμένων και διευκολύνουν τις δοκιμές και τη συντήρηση του κώδικα.