Please enable JavaScript.
Coggle requires JavaScript to display documents.
Patrones de Arquitectura de Software - Coggle Diagram
Patrones de Arquitectura de Software
Diferencia de Patrones de arquitectura y patrones de diseño
Los patrones de arquitectura se enfocan en la estructura general y organización del sistema completo. Son los que determinan como interactuan los componentes enre si mientras que los patrones de diseño se enfocan en resolver problemas específicos y recurrentes a nivel de componentes o módulos de software, especialmente relacionados con la implementación.
Arquitectura en Capas (Layered Architecture)
Descripción: Divide el sistema en capas jerárquicas donde cada capa tiene una función específica y comunica únicamente con capas adyacentes.
Características: Modularidad, fácil mantenimiento, separación de responsabilidades.
Usos: Aplicaciones web y de negocios donde la separación entre presentación, lógica y datos es esencial.
Arquitectura de Microservicios (Microservices Architecture)
Características: Escalabilidad, flexibilidad en el desarrollo, despliegue independiente.
Usos: Aplicaciones distribuidas en la nube y sistemas grandes con necesidades de escalabilidad.
Descripción: La aplicación se divide en servicios independientes que interactúan mediante APIs.
Qué es un patrón?
Soluciones reutilizables: Son enfoques probados que resuelven problemas comunes de diseño en el desarrollo de software.
Facilitan la comunicación: Ayudan a los desarrolladores a entender y aplicar estructuras complejas de manera consistente y eficiente.
Mejoran la mantenibilidad: Permiten crear sistemas escalables, organizados y más fáciles de modificar a largo plazo.
Arquitectura Cliente-Servidor (Client-Server Architecture)
Descripción: La lógica del sistema se divide entre un servidor centralizado y varios clientes que solicitan servicios.
Características: Comunicación a través de una red, escalabilidad horizontal, gestión centralizada de datos.
Usos: Aplicaciones web, aplicaciones móviles, sistemas de bases de datos.
Arquitectura Orientada a Servicios (Service-Oriented Architecture, SOA)
Características: Flexibilidad, integralidad, permite construir aplicaciones mediante la composición de servicios.
Usos: Sistemas empresariales que necesitan integrar múltiples aplicaciones y servicios.
Descripción: Organiza los sistemas en servicios interoperables y reutilizables, cada uno enfocado en una funcionalidad específica.
Arquitectura Event-Driven (Basada en Eventos)
Características: Alta disponibilidad, flexibilidad en la respuesta a eventos, desacoplamiento entre componentes.
Usos: Aplicaciones en tiempo real, sistemas que requieren alta capacidad de respuesta.
Descripción: La comunicación entre componentes se realiza mediante eventos que se producen y consumen.