Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

VIPER (Entwurfsmuster)

Es bezeichnet somit die einzelnen Bestandteile einer Softwarearchitektur und dient ähnlich wie Model View Controller oder Model View ViewModel zur Trennung …

Inhalt3 Abschnitte
  1. 1. Zweck und Grundidee
  2. 2. Komponenten und Aufgaben
  3. 3. Zusammenspiel

Zweck und Grundidee

VIPER ist ein Software-Entwurfsmuster für Anwendungen, die zumindest teilweise eine Benutzeroberfläche (User Interface, UI) besitzen. Es trennt die Verantwortlichkeiten verschiedener Programmteile und verfolgt damit einen ähnlichen Zweck wie Model View Controller oder Model View ViewModel. Die Abkürzung VIPER bezeichnet die fünf Bestandteile View, Interactor, Presenter, Entity und Router.

Das Muster wurde ursprünglich vom Entwickler mobiler Software Mutual Mobile entwickelt, um die einzelnen Architekturkomponenten besser testbar zu machen.

Komponenten und Aufgaben

• View: Stellt die Benutzeroberfläche dar und leitet Eingaben der Nutzer an den Presenter weiter.

• Presenter: Leitet Nutzereingaben an den Router oder den Interactor weiter. Außerdem bereitet er Modelldaten so auf, dass die View sie darstellen kann.

• Router: Enthält die Navigationslogik zwischen einzelnen UI-Komponenten.

• Interactor: Stellt die für den Presenter wichtigen Modelldaten sowie Methoden bereit, mit denen diese Daten anhand von Nutzereingaben verändert werden. Hier kann die Geschäftslogik der Anwendung umgesetzt werden.

• Entity: Bezeichnet die Modellobjekte, die der Interactor verwendet.

Zusammenspiel

Die Komponenten werden miteinander verbunden, beispielsweise durch Delegation oder ein anderes Entwurfsmuster. Ein typischer Ablauf ist: Die View nimmt eine Nutzereingabe entgegen und gibt sie an den Presenter weiter. Dieser übermittelt sie je nach Aufgabe an den Router für die Navigation oder an den Interactor für die Verarbeitung und mögliche Änderung der Modelldaten. Der Interactor arbeitet dabei mit den Entities. Anschließend bereitet der Presenter die relevanten Modelldaten für die Anzeige in der View auf.

Lernvideos zu VIPER (Entwurfsmuster)

Weiterlesen