MVC2? Dahinter verbirgt sich die Version 2 unseres MVC-Frameworks auf dem so gut wie all unsere Apps basieren.
MVC ist eine Abkürzung für „Model-View-Controller“, ein Entwurfsmuster, das in der Softwareentwicklung verwendet wird, um eine saubere Trennung von Funktionen und Verantwortlichkeiten in einer Anwendung zu gewährleisten. Die View ist zuständig für die Darstellung der Daten dem Nutzer gegenüber. Der Controller dient als Vermittler zwischen Modell und View. Er verarbeitet die Eingaben des Nutzers und aktualisiert das Modell und/oder die View entsprechend.
Vereinfacht kann man sich das Ganze wie folgt vorstellen:
Welche Vorteile ergeben sich daraus?
- Bessere Wartbarkeit & Erweiterbarkeit
- Durch die klare Struktur lässt sich der Code leichter warten, testen und erweitern
- Durch die klare Struktur lässt sich der Code leichter warten, testen und erweitern
- Parallelentwicklung
- Entwickler können gleichzeitig am Model, an der View und am Controller arbeiten
- Designer können das UI gestalten, während Entwickler die Fachlogik umsetzen
- Wiederverwendbarkeit
- Komponenten wie Models oder Views lassen sich wiederverwenden
- Der Code ist modular aufgebaut
- Einsatz unterschiedlicher Technologien für das Frontend
- Klassische SAP-Transaktion
- ITS Mobile
- SAP WebDynpro
- SAP Fiori
- J2EE
- … uvm.
Ein kleines Beispiel anhand unserer Menü-Anwendung
SAP Transaktion
ITS Mobile
J2EE
Fiori
Fazit: Eine Anwendung, viele Gesichter
Der Vorteil liegt natürlich auf der Hand: Wir entwickeln eine Anwendung nur einmal und der Kunde entscheidet, welche Technologie er für das Frontend einsetzen möchte. Auch ein Technologiewechsel geht dadurch einfacher von der Hand, da vereinfacht gesagt lediglich die Oberfläche ausgetauscht werden muss. Alle kundenspezifischen Zusatzimplementierungen bleiben erhalten und wir müssen nicht komplett bei null anfangen, wodurch das Risiko minimiert wird, dass am Ende etwas übersehen wird.