Подмодули в viper

15
VIPER Подмодули Вадим Смаль iOS разработчик Rambler&Co

Upload: rambler-ios

Post on 22-Jan-2017

637 views

Category:

Technology


0 download

TRANSCRIPT

VIPER Подмодули

Вадим Смаль iOS разработчик Rambler&Co

План

• Что из себя представляет Сложный модуль?

• Проблемы сложных модулей

• Способы разделения на подходили

• Подмодули - плюсы и минусы

Однотипный контент

Множество различного контента

Простой модуль Сложный модуль

Сложный модуль?

Логически связанный контент

Логически разделимый контент

Другой примерПростой модуль Сложный модуль

Проблемы сложных модулей• Нарушается принцип единственной ответственности (SOLID)

• Разнородные данные и функциональность в одном модуле

• Сложная логика работы

• Затруднено тестирование

• Невозможность переиспользования

• Затруднено изменение функциональности и конфигурации

Разбиение на подмодули

Способы разделения на подмодули

Контейнер Scroll View контейнер

Модули секций

Ячейки модули

View модули

Контейнер

Модуль

ViewController

Container View

PRESENTER

INTERACTOR

ROUTER

Подмодуль

ViewController

VIEWPRESENTER

INTERACTOR

ROUTER

ScrollView Контейнер

Модуль темы

Модуль Контакты

Модуль Вложений

Модуль Тела Письма

Таблица с модулями секций

Модуль Секции UserInfo

Модуль Секции

Notifications

Модуль Секции Storage

Таблица с ячейками модулями

Модуль View

Модуль ячейки

Модуль Галереи

Модуль ячейки

Модуль Плеера

Когда помогаютУменьшает сложность основного модуля

Легкое переиспользование

подмодулей

Упрощает добавление новой

функциональности

Упрощает тестирование

Когда мешают

Значительно увеличивает объем

кода

Усложняет логику

Усложняет дебаг

Тяжело поддерживать

Спасибо за внимание!