2.2.3 Patrones Arquitectónicos Flashcards
(16 cards)
¿Qué es un patrón arquitectónico?
Es una solución general y reutilizable para un problema común de diseño a nivel de arquitectura de software.
Menciona 4 patrones arquitectónicos comunes.
Cliente-servidor, MVC (Modelo-Vista-Controlador), Microservicios, Monolito.
¿Qué patrón separa presentación, lógica de negocio y acceso a datos?
MVC.
¿Qué ventaja ofrece el patrón de microservicios?
Permite escalar, mantener y desplegar servicios de forma independiente.
¿En qué consiste el patrón cliente-servidor?
Un cliente solicita servicios y el servidor responde
¿Cuándo es útil usar una arquitectura en capas?
Cuando se quiere organizar el software por responsabilidades (presentación, lógica, datos).
¿Qué desventaja puede tener una arquitectura monolítica?
Dificultad para escalar y mantener
¿Qué tecnologías se deben considerar al definir una arquitectura de software?
Base de datos, plataforma, servidor y herramientas open source.
¿Qué patrón arquitectónico se basa en dividir la aplicación en capas que se comunican secuencialmente?
Arquitectura en capas.
¿Qué patrón se usa frecuentemente en aplicaciones web modernas como React o Angular?
MVC o MVVM.
¿Qué patrón es más adecuado para sistemas distribuidos o que escalan horizontalmente?
Microservicios.
¿Cuál es la principal ventaja de una arquitectura basada en eventos?
Desacoplamiento y alta escalabilidad.
¿Qué patrón se adapta mejor a sistemas con lógica empresarial compleja centralizada?
Arquitectura Monolítica.
¿Cuál es el principal desafío al implementar una arquitectura de microservicios?
La complejidad en la comunicación entre servicios, gestión de datos distribuidos y monitoreo.
¿Cómo puede una mala elección de patrón arquitectónico afectar los atributos de calidad del sistema?
Puede hacer que el sistema sea más difícil de escalar, mantener o que no cumpla con requisitos de rendimiento y disponibilidad.
¿Por qué no siempre es recomendable aplicar una arquitectura de capas tradicional en aplicaciones modernas?
Porque puede introducir latencia innecesaria o complejidad si no se justifica la separación estricta de responsabilidades.