Sobes.tech
Middle

¿Qué patrones de diseño conoces?

sobes.tech AI

Respuesta de la IA

  • Creacionales:
    • Método de fábrica: Creación de objetos a través de una interfaz sin especificar la clase concreta.
    • Fábrica abstracta: Creación de familias de objetos relacionados o dependientes sin especificar sus clases concretas.
    • Constructor: Creación paso a paso de un objeto complejo, permitiendo usar el mismo código de construcción para obtener diferentes representaciones del objeto.
    • Prototipo: Creación de nuevos objetos mediante la copia de existentes.
    • Singleton: Garantiza que una clase tenga solo una instancia y proporciona un punto de acceso global a ella.
  • Estructurales:
    • Adaptador: Convierte la interfaz de una clase en otra que los clientes esperan.
    • Puente: Divide la abstracción y la implementación de modo que puedan variar independientemente.
    • Compuesto: Permite agrupar objetos en estructuras de árbol para representar jerarquías parte-todo.
    • Decorador: Añade responsabilidades adicionales a un objeto dinámicamente envolviéndolo en objetos decoradores.
    • Fachada: Proporciona una interfaz simplificada a un subsistema complejo.
    • Flyweight: Permite almacenar en memoria una gran cantidad de objetos pequeños compartiendo su estado común.
    • Proxy: Proporciona un sustituto o representante de otro objeto para controlar el acceso a él.
  • Comportamentales:
    • Cadena de responsabilidad: Permite pasar solicitudes a lo largo de una cadena de manejadores.
    • Comando: Convierte una solicitud en un objeto autónomo que contiene toda la información de la solicitud.
    • Iterador: Proporciona un modo de acceder secuencialmente a todos los elementos de un objeto compuesto sin revelar su representación interna.
    • Mediador: Define un objeto que encapsula cómo interactúan un conjunto de objetos.
    • Memento: Permite guardar y restaurar el estado pasado de un objeto sin revelar detalles de su implementación.
    • Observador: Define una dependencia uno a muchos entre objetos, de modo que cuando uno cambia su estado, todos sus dependientes son notificados y actualizados automáticamente.
    • Estado: Permite a un objeto alterar 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 algunos pasos a las subclases.
    • Visitante: Representa una operación que debe realizarse sobre los elementos de una estructura de objetos.

También familiarizado con antipatróns y principios SOLID.