wake-up-neo.net

Wie kann man die saubere Architektur von VIPER verstehen?

Ich entdeckte kürzlich VIPER clean architecture und fing an, nach Beispiel-Tutorials zur Anwendung dieser Architektur auf der Android-Plattform zu suchen. Was ich jedoch nur gefunden habe, waren Beispielprojekte, die für mich verwirrend waren. Deshalb möchte ich einem einfachen Beispiel folgen, um die grundlegenden Prinzipien von VIPER zu verstehen. Ich frage mich, ob irgendjemand ein paar gute Tutorials zu den oben genannten Themen geben kann.

16

Es gibt einen langen guten Artikel über die Grundprinzipien von VIPER auf Android. Grundsätzlich wird darüber gesprochen, wie die Prinzipien von Uncle Bobs sauberer Architektur zuerst auf iOS implementiert wurden und wie es auf Android implementiert wird.

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

Bestehend aus 5 Teilen. Hoffentlich gibt es Ihnen die Grundprinzipien und das Tutorial von VIPER.

8
Kharda

Kurz gesagt geht es um Clean Architecture, wie von Onkel Bob beschrieben.

Android ist eine Abkürzung für VIPER, die häufig in der iOS-Welt verwendet wird

VIPER ist eine Architektur von Clean Architecture bis iOS-Anwendungen. Das Wort VIPER ist ein Backronym für View, Interactor, Presenter, Entity und Routing. 

Der saubere Weg von Fernando Cejas für Android-Apps. Die Idee ist einfach: Clean Architecture steht für eine Gruppe von Praktiken.

Ich würde Ihnen empfehlen, die Artikelserie für Android von Fernando Cejas zu lesen:

Dort finden Sie ein Git-Repository mit Themen und Diskussionen. 

2
yoAlex5

Sie können in einen meiner Blogs schauen, der bei der Einführung von VIPER design pattern geschrieben wird. Den Code finden Sie auch hier

1

Wir Entwickler verwenden grundsätzlich die MVC-, MVP- oder MVVM-Architektur für die Entwicklung gemäß den Anforderungen. Es ist wichtig, welche Architektur Sie für die Entwicklung der Anwendung auswählen. Viele Faktoren, die die Auswahl der Softwarearchitektur beeinflussen, wie Systemdesigns, Anforderungen, Zeitpläne usw.

In der Viper-Architektur entspricht jeder Block einem Objekt mit bestimmten Aufgaben, Ein- und Ausgängen. Es ist den Arbeitern in einer Fertigungsstraße sehr ähnlich: Sobald der Arbeiter seine Arbeit an einem Objekt abgeschlossen hat, wird das Objekt an den nächsten Arbeiter weitergereicht, bis das Produkt fertig ist.

V (View) : View ist für die Benutzeroberflächenaktualisierungen verantwortlich und zeigt, was der Moderator sagt.

I (Interactor) : Der Interactor ist für das Abrufen von Daten aus der Modellebene verantwortlich und seine Implementierung ist völlig unabhängig von der Benutzeroberfläche. Die gesamte Geschäftslogik geschrieben im Interactor. Z.B. Abrufen des Benutzerdaten-API-Aufrufs im Interactor.

P (Presenter) : Der Presenter, der als Vermittler fungiert, erhält Daten aus der Interaktion und übergibt sie an View. (Es kann sich um Daten oder eine Benutzeraktion handeln.)

E (Entität) : Grundsätzlich enthält es das von Interactor verwendete Objektmodell. Z.B. Student, Freund, Hochschule etc.

R (Router) : Enthält die Navigationslogik für die Anwendung. Z.B. Die Aktion der nächsten Schaltfläche zeigt den zweiten Bildschirm.

Darüber hinaus verwende ich das PROTOKOLL, das alle Regeln und Arbeitsabläufe für das jeweilige Modul der Anwendung enthält. Unter iOS werden alle Protokolle in der separaten Protokolldatei Swift für jedes Modul geschrieben.

Vorteile:

-Alle Module sind unabhängig, so dass VIPER für große Teams wirklich gut ist.

-Es macht den Quellcode sauberer, kompakter und wiederverwendbar

-Es ist einfacher, TDD (Test Driven Development) einzuführen

-Sie können der vorhandenen Anwendung problemlos neue Funktionen hinzufügen, ohne dass andere Module geändert werden müssen.

-Es kann gelten SOLID Prinzipien.

- Reduzierte Anzahl von Zusammenführungskonflikten.

-Erleichtert das Schreiben automatisierter Tests, da Ihre Benutzeroberflächenlogik von der Geschäftslogik getrennt ist enter image description here

Referenz: https://medium.com/@javedmultani16/viper-architecture-viper-64f6cd91e6ec

1