Flutter Design Patterns
Singleton, Factory, Repository, Dependency Injection, Service Locator, SOLID-Prinzipien
1Was ist das Singleton-Pattern in Dart/Flutter?
Was ist das Singleton-Pattern in Dart/Flutter?
Antwort
Singleton stellt sicher, dass eine Klasse nur eine Instanz hat, und bietet einen globalen Zugriffspunkt darauf. In Dart wird es typischerweise mit einem Factory-Konstruktor und einer privaten statischen Instanz implementiert. Dieses Pattern ist nützlich für gemeinsam genutzte Dienste wie Konfigurationen oder API-Clients.
2Wie implementiert man ein Singleton in Dart korrekt mit einem Factory-Konstruktor?
Wie implementiert man ein Singleton in Dart korrekt mit einem Factory-Konstruktor?
Antwort
Die Standardimplementierung verwendet eine private statische _instance, einen privaten _internal()-Konstruktor und einen Factory-Konstruktor, der immer _instance zurückgibt. Dieser Ansatz stellt sicher, dass nur eine Instanz existiert, und ist in Dart dank der Single-Threaded-Event-Loop thread-safe.
3Was ist der Hauptnachteil des Singleton-Patterns in einer Flutter-Anwendung?
Was ist der Hauptnachteil des Singleton-Patterns in einer Flutter-Anwendung?
Antwort
Singleton erzeugt globalen Zustand, der Unit-Tests erschwert, da es schwierig ist, die Instanz zu mocken oder zu ersetzen. Es führt außerdem zu enger Kopplung zwischen Klassen und kann tatsächliche Abhängigkeiten verbergen, wodurch der Code weniger wartbar und schwerer zu refactoren wird.
Was ist das Factory-Pattern in der objektorientierten Programmierung?
Was ist der Unterschied zwischen Factory Method und Abstract Factory in Flutter?
+21 Interview-Fragen
Weitere Flutter-Interviewthemen
Dart-Grundlagen
Grundlagen der Dart-Sprache
Flutter-Grundlagen
Widget-Lebenszyklus
Lokaler Speicher
Anwendungslebenszyklus
Layouts & Constraints
ListView & GridView
Navigation & Routing
Grundlegendes State Management
Provider Pattern
Networking & HTTP
JSON-Serialisierung
Lokale Datenbank
Formulare & Validierung
Animationen
Firebase-Integration
Unit-Tests
Widget-Tests
Build & Deployment
Paketverwaltung
Speicher & Performance
Streams & RxDart
Erweitertes State Management
Performance-Optimierung
Platform Channels
Custom Painting
Flutter-Anwendungsarchitektur
Meistere Flutter für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten