Подтвердить что ты не робот

Как понять чистую архитектуру VIPER?

Недавно я обнаружил чистую архитектуру VIPER, и я начал искать примеры учебников по применению этой архитектуры на платформе Android. Однако то, что я только нашел, было примером проектов, которые меня смущали, поэтому я хочу следовать простому примеру, чтобы понять основные принципы VIPER. Мне интересно, может ли кто-нибудь поделиться с вами хорошими учебными пособиями.

4b9b3361

Ответ 1

Есть одна длинная хорошая статья об основных принципах VIPER на Android. В основном говорят о том, как принципы, взятые из чистой архитектуры дяди Бобса, были реализованы на iOS в первую очередь и как они реализуются на андроиде.

http://luboganev.github.io/blog/clean-architecture-pt1/

Состоит из 5 частей. Надеюсь, он предоставит вам основные принципы и руководство VIPER.

Ответ 2

В двух словах это все о чистой архитектуре, как описано дядей Бобом

Аббревиатура VIPER, обычно используемая в мире iOS, Android мир использует оригинальное название Clean Architecture.

VIPER - это архитектура чистой архитектуры для приложений iOS. Слово VIPER является обратным понятием для View, Interactor, Presenter, Entity и Routing.

Чистый путь Фернандо Cejas для приложений Android. Идея проста: " Чистая архитектура" означает группу практик.

Я бы порекомендовал вам прочитать серию статей для Android от Фернандо Цехаса:

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

Ответ 4

Разработчик в основном использует архитектуру MVC, MVP или MVVM для разработки в соответствии с требованиями. Важно, какую архитектуру вы выберете для разработки приложения. Множество факторов, влияющих на выбор архитектуры программного обеспечения, таких как дизайн системы, требования, сроки и т.д.

В архитектуре Viper каждый блок соответствует объекту с конкретными задачами, входами и выходами. Это очень похоже на рабочих на сборочной линии: как только рабочий завершает свою работу над объектом, объект передается следующему рабочему, пока продукт не будет закончен.

V (Просмотр): Просмотр отвечает за обновления пользовательского интерфейса и показывает все, что говорит докладчик.

I (Interactor): Interactor отвечает за выборку данных из уровня модели, и его реализация полностью независима от пользовательского интерфейса. Вся бизнес-логика написана внутри Interactor. Например, вызов API данных пользователя записан в Interactor.

P (Presenter): Presenter, выполняющий роль посредника, получает данные от взаимодействия и передает их в View. (Это могут быть данные или любое действие пользователя)

E (Entity): По сути, он содержит объектную модель, которая используется Interactor. Например, студент, друг, колледж и т.д.

R (Маршрутизатор): содержит навигационную логику для приложения. Например, действие кнопки "Далее" показывает второй экран.

Более того, я использую ПРОТОКОЛ, который содержит все правила и рабочий процесс для конкретного модуля приложения. В iOS все протоколы записаны в отдельном файле протокола swift для каждого модуля.

Выгоды:

-All модули независимы, поэтому VIPER действительно хорош для больших команд.

-It делает исходный код более чистым, компактным и пригодным для повторного использования

-It проще принять TDD (разработка через тестирование)

-You может легко добавлять новые функции в существующее приложение, возможно, не меняя другие модули.

-It может применяться ТВЕРДЫЕ принципы.

-Reduced количество конфликтов слияния.

-It Упрощает написание автоматических тестов, поскольку логика вашего интерфейса отделена от бизнес-логики enter image description here

Ссылка: https://medium.com/@javedmultani16/viper-architecture-viper-64f6cd91e6ec