Sobes.tech
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).