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: |

The fake Zelenskiy account reached 20,000 followers on Telegram before it was shut down, a remedial action that experts say is all too rare. "Russians are really disconnected from the reality of what happening to their country," Andrey said. "So Telegram has become essential for understanding what's going on to the Russian-speaking world." "And that set off kind of a battle royale for control of the platform that Durov eventually lost," said Nathalie Maréchal of the Washington advocacy group Ranking Digital Rights. Again, in contrast to Facebook, Google and Twitter, Telegram's founder Pavel Durov runs his company in relative secrecy from Dubai. On Feb. 27, however, he admitted from his Russian-language account that "Telegram channels are increasingly becoming a source of unverified information related to Ukrainian events."
from us


Telegram iOS Makes Me Hate
FROM American