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

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

@Zatishna_Galera
Number of subscribers: 2 690
Photos: 1,570
Videos: 475
Links: 2,090
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