Fuente
Затишна Галера | iOSКомпас 🧭1️⃣4️⃣1️⃣ Завдання 141Які обʼєкти беруть участь у залежност...
564 Vistas/Alcance
2026-02-11 08:05
Mensaje №2400
#iOSКомпас 🧭1️⃣4️⃣1️⃣ Завдання 141Які обʼєкти беруть участь у залежностях?З вами знову той самий автор каналу @badlinkschannel. Не забувайте підписатися. А ми продовжуємо наші яблучні історіі.Залежно від контексту, під «обʼєктами, що беруть участь у залежностях», можна розуміти різні концепції. У програмуванні під залежностями найчастіше маються на увазі звʼязки між обʼєктами або модулями, де один обʼєкт залежить від іншого для виконання своїх функцій.🔣 Обʼєкт-залежний і обʼєкт-залежністьКоли один обʼєкт (наприклад, ViewController) залежить від іншого (NetworkManager), перший стає клієнтом, а другий - залежністю.class NetworkManager { func fetchData() { print("Дані завантажено") }}class ViewController { let networkManager: NetworkManager init(networkManager: NetworkManager) { self.networkManager = networkManager } func loadData() { networkManager.fetchData() }}
🔣 Протоколи як спосіб ослаблення залежностейЖорсткі залежності можна ослабити, використовуючи протоколи.protocol NetworkService { func fetchData()}class NetworkManager: NetworkService { func fetchData() { print("Дані завантажено") }}class ViewController { let networkService: NetworkService init(networkService: NetworkService) { self.networkService = networkService } func loadData() { networkService.fetchData() }}
🔣 Залежності в архітектурах (MVVM, VIPER, DI)➖ У MVVM залежність між ViewController та ViewModel.➖ У VIPER модулі залежать один від одного, але слабо повʼязані через протоколи.➖ У DI (Dependency Injection) залежності передаються ззовні, що підвищує тестованість і гнучкість.@Zatishna_Galera