Sobes.tech
Junior — Middle

Tizimlarni loyihalashda teskari bog'liqlik tushunchasi va uning roli haqida tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

Kontrolün Ters Çevrilməsi (IoC) — bu, sistem komponentləri arasındakı asılılıqların idarə olunmasının xarici konteyner və ya çərçivəyə verildiyi dizayn prinsipidir, və ya komponentlər daxilində birbaşa yaradılmır.

Sistem dizaynında rolu:

  • Modulluluğu və test ediləbilənliyi artırır, çünki komponentlər xüsusi tətbiqlərə bağlı deyil, xaricdən alırlar.
  • Komponentlərin dəyişdirilməsi və genişləndirilməsi, onları istifadə edən kodu dəyişdirmədən asanlaşdırır.

Misal: sinif özü asılılıq obyektini yaratmaq yerinə, onu konstruktor və ya setter vasitəsilə alır. Bu, testlər üçün tətbiqləri asanlıqla dəyişməyə imkan verir.

protocol Service {
    func doWork()
}

class RealService: Service {
    func doWork() { print("İş tamamlandı") }
}

class Client {
    let service: Service
    init(service: Service) {
        self.service = service
    }
}

let service = RealService()
let client = Client(service: service)

Burada, Client öz-özünə RealService yaratmır, onu xaricdən alır — bu, asılılıqların tərs çevrilməsidir.