Phase 06
Architektur
ViewModel, Repositories, Dependency Injection, Modul-Design und nachhaltige App-Architektur.
55 Artikel · Seite 2 von 3
Test-Abhängigkeiten ersetzen
Wie du Produktionsabhängigkeiten in Tests durch Fakes ersetzt, ohne Feature-Code anzufassen. Sauberere Isolation, schnellere CI-Pipelines.
Sinn und Zweck der Modularisierung
Modularisierung teilt Android-Projekte in eigenständige Module auf. Wann das sinnvoll ist und welche Grenzen du ziehen solltest.
Modultypen: App, Feature, Core und Data sinnvoll einsetzen
Android-Projekte wachsen schnell und werden unübersichtlich. Modultypen helfen dir, Code nach Verantwortung statt nach Technik zu strukturieren.
Feature-Module: Screens und Logik eines Features klar abgrenzen
Feature-Module fassen Screen, Logik und Datenzugriff eines Features zusammen. Klare APIs halten die Modulgrenze dauerhaft sauber.
Core-Module: Geteilten Code sauber strukturieren
Core-Module bündeln stabilen, wiederverwendbaren Code in einer Mehr-Modul-App. Du lernst, wie du Utilities und Design-Systeme klar abgrenzt.
Data-Module: Datenzugriff in Android sauber kapseln
Data-Module isolieren Datenzugriff und bieten Features saubere Interfaces. Du lernst, warum diese Trennung Testbarkeit und Wartbarkeit entscheidend verbessert.
Abhängigkeitsrichtung zwischen Modulen
Zirkuläre Abhängigkeiten zwischen Modulen lähmen Builds und Tests. Dieser Artikel zeigt, warum Abhängigkeiten immer in eine Richtung fließen müssen.
Public API Minimization: Nur das Nötige nach außen
Lerne, wie du die öffentliche Schnittstelle deiner Android-Module klein hältst. Weniger API bedeutet weniger Abhängigkeiten und mehr Flexibilität.
Build-Logik organisieren: Convention Plugins in Android-Projekten
Convention Plugins bündeln wiederholte Gradle-Konfiguration zentral. So bleiben auch große Multi-Modul-Projekte konsistent und wartbar.
Navigation Architecture
Navigation Architecture definiert, wie Screens als Ziele und Routen strukturiert werden. Feature-Grenzen bleiben so testbar und klar abgegrenzt.
Single-Activity-Architektur
Die Single-Activity-Architektur strukturiert moderne Android-Apps um eine einzige Activity. Du lernst, wie Navigation und Lifecycle dabei zusammenspielen.
Multi-Back-Stack Navigation
Multi-Back-Stack Navigation bewahrt den Zustand jedes Bottom-Nav-Tabs separat. Du lernst, wie drei NavOptions-Flags das Verhalten aktivieren.
Deep-Link-Architektur
Deep Links verbinden externe Einstiegspunkte sicher mit internen Navigationszielen. Du lernst, wie du Routen validierst und Destinations korrekt abbildest.
App-Startup-Architektur: Den Kaltstart beschleunigen
Jede Millisekunde beim App-Start zählt. Lerne, wie du unkritische Initialisierung aus dem Startpfad herauslöst und die Reaktionszeit spürbar senkst.
Konfigurationsarchitektur: Build-Zeit, Laufzeit und Remote sauber trennen
Eine App braucht drei Konfigurationsebenen: Build-Zeit, Laufzeit und Remote. Du lernst, wie du sie strukturiert in Android-Projekten einsetzt.
Feature Flags: Sicher ausliefern und Risiken kontrollieren
Feature Flags steuern, welche Funktionen zur Laufzeit aktiv sind. So lieferst du sicher aus und kannst Fehler sofort abschalten.
Design-System-Architektur
Ein Design System bündelt UI-Komponenten und Tokens. So bleibt deine App konsistent und barrierefrei.
Theming Architecture: Visuelle Entscheidungen zentral verwalten
Material Design Tokens und Dynamic Color zentralisieren alle visuellen Werte deiner App. Das hält das UI konsistent und macht Redesigns zum Einzeiler.
State-Holder-Alternativen in Compose
Nicht jeder Zustand gehört ins ViewModel. Du lernst, wann remember, ein plain State Holder oder ViewModel die richtige Wahl ist.
Die One-Off-Events-Debatte in modernem Android
Transiente Effekte wie Navigation oder Snackbars sollen die UI genau einmal erreichen. Der One-Off-Events-Streit zeigt, warum das schwieriger ist als gedacht.
Clean Architecture: Wann es wirklich hilft
Clean Architecture ist kein Selbstzweck. Wann Use Cases und Grenzen wirklich helfen – und wann sie nur Overhead erzeugen.
MVVM in Android
MVVM trennt UI von Logik und ist Googles empfohlenes Architekturmuster für Android. Dieser Artikel erklärt ViewModel, State und häufige Stolperfallen.
MVI und Reducer: Zustandsübergänge sauber modellieren
MVI strukturiert Android-Apps mit Intents, Reducern und unveränderlichem Zustand. So werden komplexe Zustandsübergänge nachvollziehbar und testbar.
Architektur testen: Verhalten statt Implementierung prüfen
Gute Architekturtests prüfen öffentliches Verhalten, nicht interne Verdrahtung. So baust du stabile, wartbare Test-Suites für moderne Android-Apps.