Login Sign Up
Advert
Your ad spot
Reserve this exclusive slot for the selected period.
Buy advertising →
Telegram community logo - Затишна Галера
Added 06 Jan 2025

Затишна Галера

@Zatishna_Galera
Number of subscribers: 2 709
Photos: 1,350
Videos: 432
Links: 1,830
Description:
Голова Одеського центру розробки DataArt та Delivery Director, капітан Затишної Галери, ділитимуся: завданнями із співбесід (QA/Delivery/Management), статтями, вакансіями, новинами зі світу IT. Контакт: [email protected] ; Patreon: patreon.com/CozyGalley
Source

Затишна Галера | iOSКомпас 🧭1️⃣4️⃣1️⃣ Завдання 141Які обʼєкти беруть участь у залежност...

Telegram community logo - Затишна Галера Затишна Галера @Zatishna_Galera
564 Views/Reach 2026-02-11 08:05 Message №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