Задумываясь об архитектуре, многие фокусируются на том "что делать с массивным VC?", что выбрать среди MVC, MVVM, MVP, VIPER. Но большинстве случаев более важные и сложные процессы происходят вне объектов представленных этими шаблонами. Ошибки в проектировании взаимодействия обработчиков данных, всевозможных менеджеров, хранилищ, и прочих подкапотных компонентов стоят в будущем намного дороже, чем плохо сверстанный экран. Многие проблемы этого уровня могут быть решены при помощи сервис-ориентированной архитектуры.
40. 11
Любую проблему можно решить путём введения
дополнительного уровня абстракции
кроме проблемы слишком большого количества уровней
абстракции
,
41. 11
–Johnny Appleseed
Любую проблему можно решить путём введения
дополнительного уровня абстракции
кроме проблемы слишком большого количества уровней
абстракции
,
102. 22
Facade
• Решает задачи уровня
приложения
• Держит сервисы
• Без состояния
• Решает задачи модуля
Interactor
103. 22
Facade
• Решает задачи уровня
приложения
• Держит сервисы
• Без состояния
• Решает задачи модуля
• Держит сервисы или
фасады
Interactor
104. 22
Facade
• Решает задачи уровня
приложения
• Держит сервисы
• Без состояния
• Решает задачи модуля
• Держит сервисы или
фасады
• Может держать
состояние
Interactor