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-ро намесозад, балки онро аз берун мегирад — ин инверсияи вобастагист.