Как понять чистую архитектуру VIPER?
Недавно я обнаружил чистую архитектуру VIPER и начал искать примеры учебных пособий по применению этой архитектуры на платформе Android. Тем не менее, я обнаружил только примеры проектов, которые меня смутили, поэтому я хочу следовать простому примеру, чтобы понять основные принципы VIPER. Мне интересно, если кто-нибудь может поделиться некоторыми хорошими учебниками по вышеупомянутому.
2 ответа
Существует одна длинная хорошая статья об основных принципах VIPER на Android. В основном поговорим о том, как принципы, взятые из чистой архитектуры дяди Боба, были реализованы на iOS в первую очередь, и как они реализованы на Android.
http://luboganev.github.io/blog/clean-architecture-pt1/
Состоит из 5 частей. Надеюсь, он предоставит вам основные принципы и учебник VIPER.
Разработчик в основном использует архитектуру MVC,MVP или MVVM для разработки в соответствии с требованиями. Важно, какую архитектуру вы выберете для разработки приложения. Множество факторов, влияющих на выбор архитектуры программного обеспечения, таких как дизайн системы, требования, сроки и т. Д.
В архитектуре Viper каждый блок соответствует объекту с конкретными задачами, входами и выходами. Это очень похоже на рабочих на сборочной линии: как только рабочий завершает свою работу над объектом, объект передается следующему рабочему, пока продукт не будет закончен.
V (Просмотр): Просмотр отвечает за обновления пользовательского интерфейса и показывает все, что говорит докладчик.
I (Interactor): Interactor отвечает за выборку данных из уровня модели, и его реализация полностью независима от пользовательского интерфейса. Вся бизнес-логика написана внутри Interactor. Например, вызов API данных пользователя записан в Interactor.
P (Presenter): Presenter, выполняющий роль посредника, получает данные от взаимодействия и передает их в View. (Это могут быть данные или любые действия пользователя)
E (Entity): По сути, он содержит объектную модель, которая используется Interactor. Например, студент, друг, колледж и т. Д.
R (Маршрутизатор): содержит навигационную логику для приложения. Например, кнопка "Далее" показывает второй экран.
Более того, я использую ПРОТОКОЛ, который содержит все правила и рабочий процесс для конкретного модуля приложения. В iOS все протоколы записаны в отдельном файле протокола swift для каждого модуля.
Выгоды:
-Все модули независимы, поэтому VIPER действительно хорош для больших команд.
-Это делает исходный код чище, более компактным и многоразовым
-Просто принять TDD (Test Driven Development)
-Вы можете легко добавлять новые функции в существующее приложение, не меняя другие модули, возможно.
-Можно применять ТВЕРДЫЕ принципы.
-Уменьшено количество конфликтов слияния.
Это облегчает написание автоматических тестов, так как логика вашего интерфейса отделена от бизнес-логики
Ссылка: https://medium.com/@javedmultani16/viper-architecture-viper-64f6cd91e6ec
В двух словах это все о чистой архитектуре, как описано дядей Бобом
Аббревиатура VIPER, обычно используемая в мире iOS, Android мир использует оригинальное название Clean Architecture.
VIPER - это архитектура чистой архитектуры для приложений iOS. Слово VIPER является обратным понятием для View, Interactor, Presenter, Entity и Routing.
Чистый путь Фернандо Cejas для приложений Android. Идея проста: " Чистая архитектура" означает группу практик.
Я бы порекомендовал вам прочитать серию статей для Android от Фернандо Цехаса:
- 03 сентября 2014 - Архитектура Android... Чистый путь?
- 18 июля 2015 - Архитектура Android... Эволюция
- 07 мая 2018 года - Архитектура Android... Перезагрузка
Там вы можете найти git-репозитории с вопросами и обсуждениями.
Вы можете заглянуть в один из моих блогов, который посвящен вводной реализации шаблона проектирования VIPER. Также вы можете найти код здесь