Arquitetura de Software
Desenvolvimento
Aplicativos
Escalabilidade
Boas Práticas

Anwendungsarchitektur – Grundlagen zu häufigen Fehlern

Eine Anwendung kann äußerlich schön sein, aber wenn die interne Architektur schlecht ist, ist sie langsam, schwer zu warten und voller Fehler.

Anwendungsarchitektur – Grundlagen zu häufigen Fehlern

Eine Anwendung kann äußerlich schön sein, aber wenn die interne Architektur schlecht ist, ist sie langsam, schwer zu warten und voller Fehler. Softwarearchitektur definiert, wie Teile des Codes organisiert sind und miteinander kommunizieren. Es ist das Fundament des Gebäudes.

Wenn Sie ein Legacy-Projekt beginnen oder es übernommen haben, sollten Sie sich mit den Grundlagen vertraut machen, damit Sie kein Kartenhaus bauen.

Was ist gute Architektur?

Eine gute Architektur sollte sein:

  1. Skalierbar: Einfaches Hinzufügen neuer Funktionen, ohne alte zu zerstören.
  2. Testbar: Einfach zu schreiben automatisierte Tests.
  3. Wartbar: Jeder neue Entwickler sollte den Code schnell verstehen.

Gemeinsame Standards (Alphabetsuppe)

MVC (Model-View-Controller)

Der Klassiker.

  • Modell: Daten.
  • Ansicht: Bildschirm.
  • Controller: Logik, die die beiden verbindet.
  • Problem: In mobilen Apps neigt der Controller dazu, gigantisch zu werden (Massive View Controller), wodurch zu viel Verantwortung konzentriert wird.

MVVM (Model-View-ViewModel)

Der moderne Industriestandard (Android Jetpack, iOS Swift UI).

  • ViewModel: Bereitet Daten speziell für die Anzeige in der Ansicht vor. Die Ansicht „beobachtet“ das ViewModel. Wenn sich die Daten ändern, aktualisiert sich der Bildschirm selbst (Reaktivität).
  • Vorteil: Es trennt die Logik sehr gut von der Schnittstelle.

Saubere Architektur

Vorgeschlagen von Robert C. Martin (Onkel Bob). Unterteilt die App in Ebenen (Zwiebel).

  • Kern (Domäne): Reine Geschäftsregeln (sie wissen nicht, dass es sich um eine App handelt).
  • Daten: Repositorys, APIs, Datenbank.
  • Präsentation: Benutzeroberfläche, ViewModels. Es gilt: Die Schichten außen kennen die Schichten innen, aber die Schichten innen kennen die Schichten außen NICHT. Der Core weiß nicht, ob er auf einem iPhone oder einer Mikrowelle läuft.

Grundlegende Fehler

  1. Logik in der Benutzeroberfläche: Platzieren Sie Geschäftsregeln („Wenn der Saldo < 0 ist, färben Sie ihn rot“) direkt in der Bildschirmdatei. Dies macht es unmöglich, Tests durchzuführen, ohne den Emulator auszuführen.
  2. Starke Kopplung: Wenn Sie die API-Bibliothek ändern (Retrofit) und Bildschirme neu schreiben müssen, ist Ihre Kopplung falsch. Verwenden Sie die Abhängigkeitsinjektion.
  3. God Objects: Klassen, die alles tun (API aufrufen, in der Datenbank speichern, Daten formatieren). Teilen Sie sich in kleine Klassen mit Einzelverantwortung auf (SOLID).

Fazit

Es gibt keine „perfekte Architektur“, es gibt die passende Architektur für die Größe des Projekts. Für einen MVP reicht einfaches MVC. Für eine Super-App ist eine saubere Architektur obligatorisch. Wichtig ist, einen Standard zu wählen und ihn konsequent zu befolgen.

Lesen Sie auch