Telegram Group & Telegram Channel
🌟 SwiftUI: Composition Root DI

Два главных заблуждения начинающих разрабов:
- Достаточно выучить только SwiftUI и можно будет сделать любое приложение на нем
- Изучение SwiftUI это изучение только UI компонентов и API фреймворка

Но старые концепции и принципы требуют адаптации для SwiftUI тоже.

И то и другое заблуждение легко разбиваются на практике.
- SwiftUI это дополнение, а не замена. У него есть плюсы, и минусы.
- Чем больше кодовая база и сложнее код, тем больше новых архитектурных решений требует приложение. Верстка вьюшек это только маленькая часть.

Лучший блог для архитектур уже разобрал множество крутых идей для дизайна приложений на SwiftUI. Одна из них Composition Root.

Composition Root — это центральное место в приложении, где создаются и связываются все зависимости. По сути это очень простая концепция. Вместо того чтобы компоненты (например, ViewModel) напрямую создавали свои зависимости, они получают их извне, обычно через инициализатор.

В отличие от Service Locator или Singleton он помогает явно распределять зависимости в точке входа приложения, где они явно создаются в одном месте (SceneDelegate, @main, App). А также использует Dependency Injection через init injection.

Все это лучше помогает тестировать и масштабировать код.

🌟 В скриншотах упрощенный пример как использовать Composition Root в SwiftUI (там нет фабрики и assembly)
Please open Telegram to view this post
VIEW IN TELEGRAM



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

🌟 SwiftUI: Composition Root DI

Два главных заблуждения начинающих разрабов:
- Достаточно выучить только SwiftUI и можно будет сделать любое приложение на нем
- Изучение SwiftUI это изучение только UI компонентов и API фреймворка

Но старые концепции и принципы требуют адаптации для SwiftUI тоже.

И то и другое заблуждение легко разбиваются на практике.
- SwiftUI это дополнение, а не замена. У него есть плюсы, и минусы.
- Чем больше кодовая база и сложнее код, тем больше новых архитектурных решений требует приложение. Верстка вьюшек это только маленькая часть.

Лучший блог для архитектур уже разобрал множество крутых идей для дизайна приложений на SwiftUI. Одна из них Composition Root.

Composition Root — это центральное место в приложении, где создаются и связываются все зависимости. По сути это очень простая концепция. Вместо того чтобы компоненты (например, ViewModel) напрямую создавали свои зависимости, они получают их извне, обычно через инициализатор.

В отличие от Service Locator или Singleton он помогает явно распределять зависимости в точке входа приложения, где они явно создаются в одном месте (SceneDelegate, @main, App). А также использует Dependency Injection через init injection.

Все это лучше помогает тестировать и масштабировать код.

🌟 В скриншотах упрощенный пример как использовать Composition Root в SwiftUI (там нет фабрики и assembly)

BY iOS Makes Me Hate







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

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

Telegram was founded in 2013 by two Russian brothers, Nikolai and Pavel Durov. "For Telegram, accountability has always been a problem, which is why it was so popular even before the full-scale war with far-right extremists and terrorists from all over the world," she told AFP from her safe house outside the Ukrainian capital. The Russian invasion of Ukraine has been a driving force in markets for the past few weeks. It is unclear who runs the account, although Russia's official Ministry of Foreign Affairs Twitter account promoted the Telegram channel on Saturday and claimed it was operated by "a group of experts & journalists." Russians and Ukrainians are both prolific users of Telegram. They rely on the app for channels that act as newsfeeds, group chats (both public and private), and one-to-one communication. Since the Russian invasion of Ukraine, Telegram has remained an important lifeline for both Russians and Ukrainians, as a way of staying aware of the latest news and keeping in touch with loved ones.
from us


Telegram iOS Makes Me Hate
FROM American