Una vez más Marco Muñoz nos regala un excelente material: los Patrones de Arquitectura de Software. Los invito a leerlo para clarificar esas dudas que a veces nos acompañan por años.
Fuente de la imagen: https://bravedeveloper.com/2021/10/31/patrones-de-diseno-estilos-de-arquitectura-y-patrones-de-arquitectura-finalmente-explicados/
Entendiendo la Estructura de los Sistemas
Los patrones de arquitectura de software son soluciones reutilizables para problemas comunes en el diseño de software, ofreciendo una manera estructurada de organizar y diseñar sistemas para lograr cualidades específicas como flexibilidad, escalabilidad y facilidad de mantenimiento.
1. Arquitectura basada en eventos (EDA):
En esta arquitectura, el flujo del sistema se rige por eventos, como acciones de usuarios, salidas de sensores o mensajes de otros sistemas. Los componentes se comunican mediante eventos, y los controladores de eventos responden a ellos.
🔑 Conceptos clave: eventos, controladores de eventos, comunicación asíncrona.
2. Arquitectura en capas:
Esta estructura organiza el sistema en capas con responsabilidades específicas. La comunicación generalmente se limita a capas adyacentes, cada una proporcionando funcionalidad específica.
🔑 Conceptos clave: Capa de presentación, Capa de lógica de negocio, Capa de acceso a datos.
3. Monolito:
Un enfoque tradicional donde todos los componentes y módulos están integrados en una única base de código y se despliegan como una unidad. A diferencia de las arquitecturas distribuidas como los microservicios.
🔑 Características clave: base de código única, integración estrecha, unidad de implementación única.
4. Arquitectura de microservicios:
Divide una aplicación en pequeños servicios independientes, cada uno enfocado en una capacidad empresarial específica. Promueve la escalabilidad, facilidad de mantenimiento y flexibilidad.
🔑 Características clave: capacidad de implementación independiente, aislamiento de servicios, gestión de datos descentralizada.
5. Modelo-Vista-Controlador (MVC):
Un patrón que separa la aplicación en tres componentes interconectados: Modelo (datos y lógica de negocios), Vista (interfaz de usuario) y Controlador (maneja la entrada del usuario y actualiza el modelo y la vista).
🔑 Componentes clave: Modelo, Vista, Controlador.
6. Arquitectura Maestro-Esclavo:
Un nodo central (maestro) controla y administra nodos subordinados (esclavos). El maestro distribuye tareas y los esclavos informan al maestro.
🔑 Componentes clave: nodo maestro, nodos esclavos, distribución de tareas.
Estos patrones ofrecen diversas formas de estructurar sistemas de software según requisitos específicos. La elección depende de las necesidades y objetivos de la aplicación o sistema en desarrollo.
Resumen gráfico de los temas explicados:
Sigueme para más datos de tecnología. Atentamente: Marco Muñoz
Fuente: https://tinyurl.com/2s3h4w6k
Comments