Gerardo Cerda Neumann

3 de dic de 20232 min.

Patrones de Arquitectura de Software: Un Buen Resumen

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

    550
    3