SlideShare a Scribd company logo
V for VIPER
Vladimir Hudnitsky
Длинное вступление
♥ MVC
♥ MVC
View Controller
♥ MVC
View Controller
TableViewDelegate
TableViewDatasource
♥ MVC
View Controller
TableViewDatasource
TableViewDelegate
Sections
Cells
♥ MVC
View Controller
TableViewDatasource
TableViewDelegate
Sections
Cells
♥ MVC
View Controller
TableViewDelegate
Sections
Cells
TableViewDatasource
CoreData
DURCMODEL
I ♥ VIPER
View
Interactor
Presenter
Entity
Router
I ♥ VIPER
View
I ♥ VIPER
View
Что там дальше в схеме?
I ♥ VIPER
View
Presenter
I ♥ VIPER
View
Что там дальше в схеме?
Presenter
Зачем мне VIPER?
View
Presenter
Interactor
Entity
Я молодец!
View
Presenter
Interactor
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 ♥ VIPER
View
Что там дальше в схеме?
I ♥ VIPER
Router
I ♥ VIPER
Router
I ♥ VIPER
Router
<Presenter>
I ♥ VIPER
Router
<Presenter>
<Interactor>
Entity
I ♥ VIPER
Router
<Presenter>
<Interactor>
Entity
Services
I ♥ VIPER
Router
<Presenter>
<Interactor>
Entity
Services
А где вьюшка?
I ♥ VIPER
Router
<Presenter>
<Interactor>
Entity
Services
View
I ♥ VIPER
Module 1 Module 2
Вернемся к вопросам
1. Трудно начать
2. Непонятно, что с чем связывать
3. Да, проект просто старый уже!
4. Другие все равно говнокодят!
5. А как пользоваться Роутерами?
Да, проект просто старый уже!
Lazy Refactoring
Другие все равно говнокодят!
Итоги
1. Довольно быстро привыкаешь
2. Уменьшается количество багов
3. Возрастает скорость переключения
между проектами
4. На выходе получается
трестируемый код
5. Проекты на VIPER легче
поддерживать
Владимир Худницкий
Спасибо
fb.com/hudnitsky

More Related Content

PDF
Infinum iOS Talks #2 - VIPER for everybody by Damjan Vujaklija
PPTX
VIPER - Design Pattern
PDF
PPTX
Viper - чистая архитектура iOS-приложения (И. Чирков)
PDF
iOS viper presentation
PDF
From mvc to viper
PDF
iOSアプリケーションアーキテクチャ選定の鍵を探す
PPTX
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Infinum iOS Talks #2 - VIPER for everybody by Damjan Vujaklija
VIPER - Design Pattern
Viper - чистая архитектура iOS-приложения (И. Чирков)
iOS viper presentation
From mvc to viper
iOSアプリケーションアーキテクチャ選定の鍵を探す
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Ad

iOS Viper architecture for CocoaHeadsBY (RU)