Çərəzə inteqrasiya üçün hansı yanaşmalar mövcuddur?
sobes.tech Süni İntellekt
AI-dan cavab
Tətbiqin əsasına bağlılıq injeksiyası üçün aşağıdakı əsas yanaşmalar mövcuddur:
-
Konstruktor vasitəsilə injeksiya (Constructor Injection): Bağlılıqlar sinifin konstruktor parametrləri kimi ötürülür. Bu ən tövsiyə olunan yanaşmadır, çünki bağlılıqları açıq edir və sinfə lazım olan bütün bağlılıqları almağı məcbur edir.
public class MyService { private readonly IDependency _dependency; public MyService(IDependency dependency) { _dependency = dependency; } public void DoWork() { _dependency.Execute(); } } -
Xüsusiyyətlər vasitəsilə injeksiya (Property Injection): Bağlılıqlar sinfin ümumi xüsusiyyətlərinə təyin edilir. Daha az tövsiyə olunur, çünki bağlılıqlar könüllü ola bilər, bu da sinfin lazım olan komponentlərini anlamağı çətinləşdirir. Tez-tez könüllü bağlılıqlar və ya digər yanaşmalar ilə birlikdə istifadə olunur.
public class AnotherService { public IDependency Dependency { get; set; } public void DoWork() { Dependency?.Execute(); // null yoxlaması vacibdir } } -
Yöntəm vasitəsilə injeksiya (Method Injection): Bağlılıqlar müəyyən bir metodun parametrləri kimi ötürülür. Bu, yalnız müəyyən bir əməliyyatı yerinə yetirmək üçün bağlılıq lazım olduqda uyğundur.
public class YetAnotherService { public void DoWork(IDependency dependency) { dependency.Execute(); } }
Yanaşmanın seçimi bağlılığın xarakterinə və sinfin istifadə kontekstinə bağlıdır. Konstruktor vasitəsilə injeksiya, məcburi bağlılıqlar üçün faktik standartdır.