# data[].attributes.body
Agrupar código relacionado en módulos facilita el entendimiento, mantenimiento y reutilización.

# data[].attributes.body
Reduce la complejidad.

Mejora la mantenibilidad.

Facilita la reutilización de módulos en otros proyectos.

# data[].attributes.body
Cohesión:

Relación entre las partes de un módulo.

Acoplamiento:

Nivel de dependencia entre módulos.

# data[].attributes.body
Cohesión funcional: Elementos colaboran para una tarea específica.

Cohesión lógica: Funciones relacionadas lógicamente.

Acoplamiento aferrente: Dependencias hacia un módulo.

Acoplamiento eferente: Módulos que dependen de un módulo actual.

# data[].attributes.body
Escalabilidad: Facilita el escalado del sistema.

Mantenibilidad: Cambios en un módulo no afectan el resto.

Reutilización: Módulos pueden ser utilizados en otros contextos.

# data[].attributes.body
Intentar  dividir  un  módulo  cohesivo  sólo  daría  como  resultado  un  mayor  acoplamiento  y   una  menor  legibilidad.

—Larry  Constantine

# data[].attributes.body
Las características arquitectónicas son aspectos clave que diferencian la arquitectura del diseño y la codificación.

Incluyen requerimientos no funcionales y atributos de calidad.

# data[].attributes.headline
Criterios de una característica arquitectónica

# data[].attributes.subject
Criterios de una característica arquitectónica

# data[].attributes.body
Explícito: Especifica consideraciones de diseño (no del dominio).

Implícito: Influye en el diseño estructural.

Fundamental: Es crucial para el éxito de la aplicación.

# data[].attributes.body
Operativas:

Rendimiento, escalabilidad, disponibilidad, confiabilidad, facilidad de recuperación, robustez.

Estructurales:

Extensibilidad, instalabilidad, reutilización, mantenibilidad, portabilidad, actualización.

Transversales:

Seguridad, accesibilidad, autenticación, usabilidad, privacidad.

# data[].attributes.body
Descripción:

Características como seguridad y performance pueden entrar en conflicto.

Soportar muchas características añade complejidad al diseño.