Guía de entrevistas técnicas de Arquitectura de Software

Accede/Registrate para Descargar tu Guía

Lista de Preguntas


¿Qué tipos de patrones de diseño existen?

  Existen varios tipos de patrones de software, cada uno diseñado para abordar problemas específicos en el desarrollo de software. Estos patrones se pueden agrupar en varias categorías según su propósito y aplicación. A continuación, se describen algunos de los tipos principales de patrones de software:

Patrones Creacionales:

  • Singleton: Garantiza que una clase tenga solo una instancia y proporciona un punto de acceso global a ella.
  • Factory Method: Define una interfaz para crear un objeto, pero deja que las subclases alteren el tipo de objetos que se crearán.
  • Abstract Factory: Proporciona una interfaz para crear familias de objetos relacionados o dependientes sin especificar sus clases concretas.

Patrones Estructurales:

  • Adapter (Adaptador): Permite que interfaces incompatibles trabajen juntas.
  • Decorator (Decorador): Añade funcionalidades a un objeto dinámicamente.
  • Composite (Compuesto): Compone objetos en estructuras de árbol para representar jerarquías parte-todo.

Patrones de Comportamiento:

  • Observer (Observador): Define una relación de uno a muchos entre objetos, de modo que cuando un objeto cambia de estado, todos sus dependientes sean notificados y actualizados automáticamente.
  • Strategy (Estrategia): Define una familia de algoritmos, encapsula cada uno y los hace intercambiables.
  • Command (Comando): Encapsula una solicitud como un objeto, lo que permite parametrizar clientes con operaciones y soporta operaciones reversibles.

Patrones de Arquitectura:

  • MVC (Modelo-Vista-Controlador): Divide una aplicación en tres componentes principales: Modelo (datos y lógica de la aplicación), Vista (presentación e interfaz de usuario) y Controlador (maneja la entrada del usuario y coordina las interacciones).
  • MVVM (Modelo-Vista-Modelo de Vista): Similar a MVC, pero con un énfasis en la separación de la lógica de presentación y la lógica de la vista mediante un modelo de vista.

Patrones de Concurrencia:

  • Active Object (Objeto Activo): Encapsula una solicitud como un objeto, permitiendo la ejecución asíncrona.
  • Monitor Object (Objeto Monitor): Coordinación de acceso a recursos compartidos mediante un objeto monitor.
  • Balking: Evita la ejecución de un paso del algoritmo si la condición no es adecuada.

Patrones de Acceso a Datos:

  • Data Access Object (DAO): Proporciona una interfaz abstracta para algunos tipos de base de datos o algún otro mecanismo de almacenamiento.
  • Repository (Repositorio): Mediador entre el dominio y la capa de datos, proporcionando una interfaz limpia para acceder a los datos.

Estos son solo algunos ejemplos de patrones de software, y hay muchos más patrones especializados que abordan problemas específicos en diferentes contextos de desarrollo de software. 

Los patrones de software proporcionan soluciones probadas y buenas prácticas que pueden ayudar a mejorar la eficiencia, flexibilidad y mantenibilidad del software.



 

Whatsapp Mentores Tech