Flutter Design Patterns
Singleton, Factory, Repository, Dependency Injection, Service Locator, principios SOLID
1¿Qué es el patrón Singleton en Dart/Flutter?
¿Qué es el patrón Singleton en Dart/Flutter?
Respuesta
El Singleton garantiza que una clase tenga una sola instancia y proporciona un punto de acceso global a ella. En Dart, se implementa típicamente con un constructor factory y una instancia estática privada. Este patrón es útil para servicios compartidos como configuraciones o clientes API.
2¿Cómo implementar correctamente un Singleton en Dart usando un constructor factory?
¿Cómo implementar correctamente un Singleton en Dart usando un constructor factory?
Respuesta
La implementación estándar usa una instancia estática privada _instance, un constructor privado _internal() y un constructor factory que siempre devuelve _instance. Este enfoque garantiza que solo exista una instancia y es thread-safe en Dart gracias al event loop de un solo hilo.
3¿Cuál es la principal desventaja del patrón Singleton en una aplicación Flutter?
¿Cuál es la principal desventaja del patrón Singleton en una aplicación Flutter?
Respuesta
El Singleton crea un estado global que dificulta las pruebas unitarias porque es complicado mockear o reemplazar la instancia. También introduce un acoplamiento fuerte entre clases y puede ocultar las dependencias reales, haciendo el código menos mantenible y más difícil de refactorizar.
¿Qué es el patrón Factory en programación orientada a objetos?
¿Cuál es la diferencia entre Factory Method y Abstract Factory en Flutter?
+21 preguntas de entrevista
Otros temas de entrevista Flutter
Fundamentos de Dart
Fundamentos del lenguaje Dart
Fundamentos de Flutter
Ciclo de vida de los Widgets
Almacenamiento local
Ciclo de vida de la aplicación
Layouts & Constraints
ListView & GridView
Navegación y enrutamiento
Gestión de estado básica
Provider Pattern
Networking & HTTP
Serialización JSON
Base de datos local
Formularios y validación
Animaciones
Integración de Firebase
Pruebas unitarias
Pruebas de widgets
Build y Despliegue
Gestión de paquetes
Memoria y rendimiento
Streams & RxDart
State Management avanzado
Optimización del rendimiento
Platform Channels
Custom Painting
Arquitectura de aplicaciones Flutter
Domina Flutter para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis