Sobes.tech
Junior — Middle

Оё метавонед консептии вобастагии баръакс ва нақши он дар тарҳрезии системаҳоро шарҳ диҳед?

sobes.tech AI

Ҷавоб аз AI

Иловаи назорат (IoC) — ин принсипи тарҳрезӣ мебошад, ки дар он идоракунии вобастагиҳо байни компонентҳои системаи дода мешавад ба контейнер ё рамкаи беруна, на дар дохили компонентҳо мустақиман сохта мешавад.

Рол дар тарҳрезии системаҳост:

  • Меъёри модулӣ ва тестшавандагӣ меафзояд, зеро компонентҳо аз татбиқҳои мушаххас вобаста нестанд, балки онҳоро аз берун мегиранд.
  • Осон мекунад иваз кардан ва васеъ кардан компонентҳоро бе тағир додани коди, ки онҳоро истифода мебарад.

Масалан: ба ҷои он, ки класс худ объекти вобастагиро созад, онро тавассути конструктор ё setter мегирад. Ин имкон медиҳад, ки осонтар татбиқҳоро иваз кардан, масалан барои тестҳо.

protocol Service {
    func doWork()
}

class RealService: Service {
    func doWork() { print("Касб анҷом ёфт") }
}

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

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

Ин ҷо, Client худ RealService-ро намесозад, балки онро аз берун мегирад — ин инверсияи вобастагист.