Чем API Client architecture отличается от network in ViewController и когда что выбрать?

iOS / SwiftMiddleNetworkingСравнениеios|swift|networking|api|api client architecture

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

Сравнение: API Client architecture нужно оценивать в контексте задачи, а не как универсально лучший вариант. В сравнении с network in ViewController смотрите на ownership, lifecycle, читаемость, поддержку разных iOS версий, тестируемость и риск ошибок.

Ответ:

Нюанс: абстрагирует сеть и упрощает тесты.

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

protocol APIClient {
  func send<T: Decodable>(_ request: Request<T>) async throws -> T
}

Источники

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