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

At the start of 2018, the company attempted to launch an Initial Coin Offering (ICO) which would enable it to enable payments (and earn the cash that comes from doing so). The initial signals were promising, especially given Telegram’s user base is already fairly crypto-savvy. It raised an initial tranche of cash – worth more than a billion dollars – to help develop the coin before opening sales to the public. Unfortunately, third-party sales of coins bought in those initial fundraising rounds raised the ire of the SEC, which brought the hammer down on the whole operation. In 2020, officials ordered Telegram to pay a fine of $18.5 million and hand back much of the cash that it had raised. 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 news also helped traders look past another report showing decades-high inflation and shake off some of the volatility from recent sessions. The Bureau of Labor Statistics' February Consumer Price Index (CPI) this week showed another surge in prices even before Russia escalated its attacks in Ukraine. The headline CPI — soaring 7.9% over last year — underscored the sticky inflationary pressures reverberating across the U.S. economy, with everything from groceries to rents and airline fares getting more expensive for everyday consumers. He said that since his platform does not have the capacity to check all channels, it may restrict some in Russia and Ukraine "for the duration of the conflict," but then reversed course hours later after many users complained that Telegram was an important source of information. One thing that Telegram now offers to all users is the ability to “disappear” messages or set remote deletion deadlines. That enables users to have much more control over how long people can access what you’re sending them. Given that Russian law enforcement officials are reportedly (via Insider) stopping people in the street and demanding to read their text messages, this could be vital to protect individuals from reprisals.
from us


Telegram iOS Makes Me Hate
FROM American