Чем @EnvironmentObject отличается от dependency injection и когда что выбрать?

iOS / SwiftMiddleSwiftUIСравнениеios|swift|swiftui|@environmentobject

Что хотят услышать интервьюеры:

Сравнение: @EnvironmentObject нужно оценивать в контексте задачи, а не как универсально лучший вариант. В сравнении с dependency injection смотрите на ownership, lifecycle, читаемость, поддержку разных iOS версий, тестируемость и риск ошибок.

Ответ:

Нюанс: удобен для глобального state, но может скрывать зависимости.

Как отвечать: назвать критерии выбора, привести реальный пример и честно обозначить ограничения.

@EnvironmentObject var session: SessionStore

Источники

Похожие вопросы