Telegram Group & Telegram Channel
💎 Разработка приложения на SwiftUI: Почему нужен DI впервую очередь

SwiftUI по умолчанию делает многое автоматически — это удобно, но без DI ты быстро начнёшь жёстко связывать View, ViewModel, сервисы, хранилище, API и т.д.

А значит тестировать, переиспользовать, изменять, рефакторить код — страшно и больно

С DI легко заменяешь зависимости на моки:

let mock = MockUserService()
let vm = ProfileViewModel(userService: mock)


Чистое разделение ответственности c помощью DI помогает разделить на компоненты:
View — Отображение
ViewModel — Логика UI
Service — Данные/API

Гибкость для разных окружений:


#if DEBUG
let service = MockUserService()
#else
let service = RealUserService()
#endif


Лёгкий переход к модульной архитектуре

С DI ты можешь:
- выносить модули в отдельные фреймворки,
- управлять зависимостями централизованно,
- добавлять фичи, не ломая всё остальное.

В следущем посте разберем в чем главное отличие работы с DI в SwiftUI и UIKit
Please open Telegram to view this post
VIEW IN TELEGRAM



group-telegram.com/iosmakesmehate/2984
Create:
Last Update:

💎 Разработка приложения на SwiftUI: Почему нужен DI впервую очередь

SwiftUI по умолчанию делает многое автоматически — это удобно, но без DI ты быстро начнёшь жёстко связывать View, ViewModel, сервисы, хранилище, API и т.д.

А значит тестировать, переиспользовать, изменять, рефакторить код — страшно и больно

С DI легко заменяешь зависимости на моки:


let mock = MockUserService()
let vm = ProfileViewModel(userService: mock)


Чистое разделение ответственности c помощью DI помогает разделить на компоненты:
View — Отображение
ViewModel — Логика UI
Service — Данные/API

Гибкость для разных окружений:


#if DEBUG
let service = MockUserService()
#else
let service = RealUserService()
#endif


Лёгкий переход к модульной архитектуре

С DI ты можешь:
- выносить модули в отдельные фреймворки,
- управлять зависимостями централизованно,
- добавлять фичи, не ломая всё остальное.

В следущем посте разберем в чем главное отличие работы с DI в SwiftUI и UIKit

BY iOS Makes Me Hate






Share with your friend now:
group-telegram.com/iosmakesmehate/2984

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Ukrainian forces successfully attacked Russian vehicles in the capital city of Kyiv thanks to a public tip made through the encrypted messaging app Telegram, Ukraine's top law-enforcement agency said on Tuesday. This provided opportunity to their linked entities to offload their shares at higher prices and make significant profits at the cost of unsuspecting retail investors. The Russian invasion of Ukraine has been a driving force in markets for the past few weeks. However, the perpetrators of such frauds are now adopting new methods and technologies to defraud the investors. At this point, however, Durov had already been working on Telegram with his brother, and further planned a mobile-first social network with an explicit focus on anti-censorship. Later in April, he told TechCrunch that he had left Russia and had “no plans to go back,” saying that the nation was currently “incompatible with internet business at the moment.” He added later that he was looking for a country that matched his libertarian ideals to base his next startup.
from us


Telegram iOS Makes Me Hate
FROM American