DEPENDENCY INJECTION in JAVASCRIPT

Javid Salim
2 min readJun 13, 2023

--

Read in ENGLISH

https://github.com/javidselimov/jsworldjs#dependency-injection

Müasir proqram təminatının işlənib hazırlanmasında asılılıqların səmərəli şəkildə idarə edilməsi davamlı tətbiqlər yaratmaq üçün çox vacibdir. Buna nail olmağa kömək edən bir texnika Dependency Injection dur (DI). Bu yazıda biz DI anlayışını araşdıracağıq, JavaScript-də qabaqcıl nümunələri baxacaq və onun TypeScript-də alternativ tətbiqinə toxunacağıq.

DI başa düşək: DI, asılılıqların yaradılması və idarə edilməsini təşviq edən dizayn nümunəsidir. Asılılıqlarını daxili olaraq quran bir sinif əvəzinə, asılılıqlar xaricdən təmin edilir və daha yaxşı çevikliyə imkan verir.

JavaScript-də Dİ-nin bir neçə qabaqcıl nümunəsinə nəzər salaq:

Konstruktor inyeksiyası: Konstruktor inyeksiyası onun konstruktoru vasitəsilə sinfə asılılıqların ötürülməsini nəzərdə tutur. Nümunə:

Property inyeksiyası: Property inyeksiyasında asılılıqlar sinif xassələrinə təyin edilir. Bu yanaşma istəyə bağlı asılılıqlarla məşğul olduqda faydalıdır. Aşağıdakı misalı nəzərdən keçirək:

Metod inyeksiyası: Metod inyeksiyası asılılıqların sinif metodlarına arqument kimi ötürülməsini nəzərdə tutur. Bu yanaşma asılılıqların seçmə inyeksiyasına imkan verir. Numuneye baxaq:

TypeScript dekoratorlar və interfeyslər üçün dəstəyi vasitəsilə asılılıq inyeksiyası üçün əlavə funksiyalar təqdim edir. TypeScript istifadə edərək alternativ yanaşmanı araşdıraq:

JavaScript-də biz Dİ inkişaf etmiş nümunələrini araşdırdıq, o cümlədən konstruktor inyeksiyası, property inyeksiyası və metod inyeksiyası ilə tanış olduq. Bundan əlavə, biz dekoratorlar və interfeyslərdən istifadə edərək TypeScript-də alternativ tətbiqi müzakirə etdik. Bu üsullardan istifadə kod bazanızın arxitekturasını və keyfiyyətini əhəmiyyətli dərəcədə yaxşılaşdıra bilərsiniz.

Unutmayın ki, asılılıq inyeksiyasının tətbiqi kodun təkrar istifadəsini və texniki cəhətdən təmiz və modulyar dizaynlara imkan verir, daha səliqəli və genişlənə bilən struktura gətirib çıxarır.

--

--