V for VIPERVladimir Hudnitsky
Длинное вступление
♥ MVC
♥ MVC
View Controller
♥ MVCView Controller
TableViewDelegate
TableViewDatasource
♥ MVCView Controller
TableViewDatasource
TableViewDelegateSections
Cells
♥ MVCView Controller
TableViewDatasource
TableViewDelegateSections
Cells
♥ MVCView Controller
TableViewDelegateSections
Cells
TableViewDatasource
CoreData DURCMODEL
I ♥ VIPER
View
Interactor
Presenter
Entity
Router
I ♥ VIPERView
I ♥ VIPERView
Что там дальше в схеме?
I ♥ VIPERView
Presenter
I ♥ VIPERView
Что там дальше в схеме?
Presenter
Зачем мне VIPER?
ViewPresenterInteractor
Entity
Я молодец!
ViewPresenterInteractor
Entity
Почему я бросил VIPER
Почему я бросил VIPER
1.Трудно начать
Почему я бросил VIPER
1.Трудно начать2. Непонятно, что с чем связывать
Почему я бросил VIPER
1.Трудно начать2. Непонятно, что с чем связывать3. Да, проект просто старый уже!
Почему я бросил VIPER
1.Трудно начать2. Непонятно, что с чем связывать3. Да, проект просто старый уже!4. Другие все равно говнокодят!
Почему я бросил VIPER
1.Трудно начать2. Непонятно, что с чем связывать3. Да, проект просто старый уже!4. Другие все равно говнокодят!5. А как пользоваться Роутерами?
VIPER
TDD
VIPER Thinking
I ♥ VIPERView
Что там дальше в схеме?
I ♥ VIPER
Router
I ♥ VIPER
Router
I ♥ VIPERRouter
<Presenter>
I ♥ VIPERRouter
<Presenter>
<Interactor>
Entity
I ♥ VIPERRouter
<Presenter>
<Interactor>
Entity
Services
I ♥ VIPER
Router
<Presenter>
<Interactor>
Entity
Services
А где вьюшка?
I ♥ VIPERRouter
<Presenter>
<Interactor>
EntityServices
View
I ♥ VIPER
Module 1 Module 2
Вернемся к вопросам
1. Трудно начать
2. Непонятно, что с чем связывать
3. Да, проект просто старый уже!4. Другие все равно говнокодят!
5. А как пользоваться Роутерами?
Да, проект просто старый уже!
Lazy Refactoring
Другие все равно говнокодят!
Итоги1.Довольно быстро привыкаешь2.Уменьшается количество багов3.Возрастает скорость
переключения между проектами
4.На выходе получается трестируемый код
5.Проекты на VIPER легче поддерживать