Как понять чистую архитектуру 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 от Фернандо Цехаса:

Там вы можете найти git-репозитории с вопросами и обсуждениями.

Вы можете заглянуть в один из моих блогов, который посвящен вводной реализации шаблона проектирования VIPER. Также вы можете найти код здесь

Другие вопросы по тегам