Sobes.tech
Middle
164

İşinizdə asılılıq injeksiyasını necə istifadə edirsiniz?

AI-dan cavab

sobes.tech Süni İntellekt

Asılılıqların injekti (Dependency Injection, DI) — obyektin asılılıqlarını xaricdən ötürməyə imkan verən nümunədir, onlar daxildə yaradılmaq əvəzinə. Java-da mən DI-dən kodun modulluğunu, test edilə bilməsini və baxımını asanlaşdırmaq üçün istifadə edirəm.

Məsələn, Spring Framework-də asılılıqları bean kimi elan edirəm və Spring konteyneri onları avtomatik olaraq lazım olan siniflərə konstruktor və ya setterlər vasitəsilə inject edir. Bu, implementasiyaların dəyişdirilməsini asanlaşdırır, məsələn, vahid testlər yazarkən, mock obyektlərdən istifadə etmək mümkündür.

DI ilə konstruktor nümunəsi:

@Component
public class UserService {
    private final UserRepository userRepository;

    // Asılılıq konstruktor vasitəsilə inject edilir
    public UserService(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    public User findUser(String id) {
        return userRepository.findById(id);
    }
}

Bu yanaşma idarəetmənin tərsinə çevrilməsini (IoC) təşviq edir, burada obyektlərin yaradılması və əlaqələndirilməsi xarici konteyner tərəfindən idarə olunur, sinif tərəfindən deyil.