Junior
¿Qué patrones de diseño conoces?
sobes.tech AI
Respuesta de la IA
-
Creacionales
- Método de fábrica (forma de crear objetos a través de un método de fábrica, en lugar de directamente mediante el constructor)
- Fábrica abstracta (interfaz para crear familias de objetos relacionados sin especificar sus clases concretas)
- Constructor (creación paso a paso de objetos complejos, permitiendo obtener diferentes variantes del objeto usando el mismo código de construcción)
- Prototipo (creación de nuevos objetos mediante la copia de un ejemplo existente)
- Singleton (garantiza que solo exista una instancia de la clase y proporciona un punto de acceso global a ella)
-
Estructurales
- Adaptador (permite que objetos con interfaces incompatibles trabajen juntos)
- Puente (separa la abstracción de la implementación, permitiendo que cambien de manera independiente)
- Compuesto (permite tratar objetos individuales y grupos de objetos de la misma manera)
- Decorador (agrega responsabilidades adicionales a objetos de manera dinámica)
- Fachada (proporciona una interfaz unificada a un conjunto de interfaces de un subsistema)
- Flyweight (gestiona eficientemente un gran número de objetos pequeños)
- Proxy (proporciona un objeto sustituto que controla el acceso a otro objeto)
-
Comportamentales
- Cadena de responsabilidades (envía solicitudes a lo largo de una cadena de manejadores)
- Comando (encapsula una solicitud como un objeto, permitiendo parametrizar clientes, encolar solicitudes, registrar y soportar deshacer)
- Iterador (proporciona un modo de acceder secuencialmente a los elementos de un objeto compuesto sin revelar su estructura interna)
- Mediador (simplifica la interacción entre múltiples objetos introduciendo un objeto mediador)
- Memento (permite guardar y restaurar el estado interno de un objeto sin violar su encapsulación)
- Observador (define una dependencia uno a muchos entre objetos, de modo que cuando uno cambia, todos los dependientes son notificados y actualizados)
- Estado (permite que un objeto cambie su comportamiento cuando su estado interno cambia)
- Estrategia (define una familia de algoritmos, encapsula cada uno y los hace intercambiables)
- Método plantilla (define el esqueleto de un algoritmo en una operación, dejando que las subclases redefinan ciertos pasos sin cambiar la estructura general)
- Visitante (permite agregar nuevas operaciones a una jerarquía de clases sin modificar las clases mismas)
En el desarrollo de Android, a menudo se utilizan patrones MVx (MVP, MVVM), así como patrones de la biblioteca Android Architecture Components (Room, ViewModel, LiveData, Navigation).