Создание модуляризированного приложения с Dependency Injection

  • Прокачать умение делать архитектурный рефакторинг всего приложения.
  • Научится внедрять DI, понять плюсы подхода. Можно использовать в качестве основы реализованное домашнее задание по прошлому занятию.
  • Выполнить рефакторинг приложения до MVVM. При реализации в классическом iOS приложении (не SwiftUI) использовать Key-Value подписки или через Notification Center. При реализации SwiftUI использовать стандартные механизмы Combine.
  • Модуляризировать свое приложение одним из известным способом. Вынести UI компоненты в отдельный модуль и импортить его в местах использования.
  • Создать ServiceLocator (можно на дженериках) 4 Перевести существующие сервисы на него Добавить инжектинг в переменные инстанса класса, чтобы в каждома классе можно было видеть зависимости не скролля файл. Выделить уровень Core сервисов (сеть, парсинг, хранение). Core и другие сервисы вынести в модуль.