top of page

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.


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


55 visualizaciones0 comentarios

Comments


bottom of page