TGViewer
Мобильная разработка Мобильная разработка @mobi_dev · 13.1K subscribers
Post #4793 605
Как закрепить границы Clean Architecture в Swift Packages

Папки Domain, Data и Presentation сами по себе не мешают экрану обратиться к базе или стороннему SDK. В разборе SwiftUI-приложения Popcorn каждую архитектурную границу превращают в отдельный Swift Package с явным списком зависимостей.

Контексты отвечают за предметные области вроде фильмов и поиска, а feature-модули содержат экраны и модели представления. Внутри контекста домен не зависит ни от чего, прикладной слой хранит сценарии, инфраструктура работает с источниками данных, а композиционный модуль связывает части. SDK TMDb остаётся в адаптере, поэтому остальной код о нём не знает.

Такие границы проверяет компилятор: запрещённый импорт ломает сборку, а добавление зависимости в Package.swift видно на ревью. Сценарии можно тестировать с поддельным репозиторием, без сети, базы и симулятора.
  • ❤ 1
  • 👏 1
More from @mobi_dev
  1. Oct 8, 2026SwiftUI List против UICollectionView: как измерить тяжёлую ленту в iOS 26.1 Автор собрал д…
  2. Oct 7, 2026Как нативные контролы SwiftUI меняются в iOS 26 без правок интерфейса Один бинарник, собра…
  3. Oct 7, 2026Как собрать стабильную пирамиду тестов для Flutter-приложения Руководство по тестированию…
  4. Oct 7, 2026Почему @ObservedObject сбрасывает модель в SwiftUI @ObservedObject следит за изменениями м…
  5. Oct 6, 2026Как отделить эффект Baseline Profiles от очистки запуска Android-приложения В Compose-прил…
  6. Oct 6, 2026Как внедрить Maestro в React Native и не дублировать E2E-тесты Команда Add Jam сравнила вн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →