viper a la rambler
TRANSCRIPT
1. Канонический VIPER
2. Проблемы канонического VIPER и наши решения
3. Работа VIPER-модулей на примере
План доклада
Проблема #1Interactor и View - слишком обобщенные компоненты
РешениеInteractor и View - слои, которые стоит разбить на
составные части
• Вводим понятие сервисов
• Работу с таблицами и коллекциями выносим в DataDisplayManager 🙈
Проблема #2Wireframe отвечает сразу за несколько дел
РешениеРазбиваем Wireframe на 2 компонента: Router и
Assembly
Проблема #3Непонятно как реализовать взаимодействие модулей и
составные модули
Решение
Все в докладах Андрея и Вадима
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICE
categoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICE
categoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryIdcategories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryIdcategories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantIdrestaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantIdrestaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)
VIEW
Рестораны в категории
INTERACTOR
PRESENTER ROUTER
SERVICE
VIEW
Экран ресторана
INTERACTOR
PRESENTERROUTER
SERVICEcategoryId
categories (Core Data)
restaurantId
restaurant (Core Data)
restaurant (PONSO)
categories (PONSO)