Aqui puede encontrar un catalogo con algunos Hablitadores de diseño (estilos, patrones y tácticas) útiles para lograr los atributos de calidad del sistema. El propósito no es transcribir conocimiento teórico ya existente en la industria.

Los habilitadores de diseño son útiles para:

  • Inspirar las aproximaciones iniciales de arquitectura.

  • Ayudar a comprender la situación y problema en mayor profundidad.

  • Comprender cuáles son las debilidades del estilo o patrón que puede considerar y cómo superará estas debilidades.

  • Reutilizar conocimiento y transmitir conocimiento de manera estructurada

  • Facilitar la comunicación pues tienen su propio vocabulario.

Qué diferencia existe entre un patrón, un estilo y una táctica de arquitectura?

Los estilos de arquitectura definen principios para organizar el sistema como un todo sin definir detalles de implementación e interacción de cada componente. Transmiten una filosofía y restricciones de alto nivel sin resolver un problema o escenario específico.

Los patrones de arquitectura resuelven problemas específicos en un contexto. Normalmente los patrones de arquitectura se agrupan según estilos de arquitectura.

Las tácticas son elementos fundamentales de una arquitectura de software utilizadas para satisfacer un atributo de calidad en específico y normalmente no afectan de manera transversal la estructura del sistema.

A continuación describimos los habilitadores de diseño aplicables en los diferentes contextos de negocio. No se preocupe por entender con detalle la diferencia entre un patrón, un estilo o una táctica. Uselos de manera práctica para tomar decisiones que impacten en los atributos de calidad:

Estilos de arquitectura

Estilo Referencia
Microservicios Ver más
Event Driven Ver más
SOA Ver más
Rich internet Applications (RIA)  
Clean architectures Ver más
Monolithic application  
Layers  
N-Tiers Ver más
Serverless  
Basado en reglas (Rule engine)  
ETL  

Patrones de arquitectura

Patrón Referencia
Pipes and filters Ver más
ESB  
Web/Cola de trabajo Ver más
Active record Ver más
Model View controller  

Tácticas de arquitectura y patrones de diseño

Normalmente una táctica beneficia específicamente un atributo de calidad.

Táctica/Patrón Atributo de calidad Referencia
Change data capture Interoperabilidad Ver más
Service discovery Interoperabilidad  

Api gateway y

Backend for front ends

Interoperabilidad Ver más
Circuit Breaker Disponibilidad Ver más
Back pressure Disponibilidad Ver más
Health check API o Ping echo Disponibilidad Ver más
Throottling Disponibilidad Ver más

Load balancing

(Client side o server side)

Disponibilidad  

Replicación

(Activo-Activo

/Activo-Pasivo

/Local-Geográfica)

Disponibilidad  
Materialized View Desempeño Ver más
Caché Desempeño Ver más
Saga Consistencia Ver más
Retry Consistencia Ver más
Publish and suscribe Escalabilidad Ver más

P2P

(Mensajería o RPC)

Escalabilidad  
Stateless application Escalabilidad Ver más
Stateless authentication Escalabilidad Ver más
Priority queue Escalabilidad Ver más

Queue based

load leveling

Escalabilidad Ver más
Anticorruption layer Mantenibilidad Ver más
Open Host Service (OHS) Interoperabilidad Ver más

 

Tenga en cuenta estos patrones en la implementación.

  • Patrones de integración empresarial. Ver más

  • Patrones de diseño cloud. Ver más