¿Qué es?
Es un enfoque de arquitectura de software que consta de cuatro niveles que pueden describirse de la siguiente manera:
- El “contexto del sistema” es el nivel superior, que representa todo el sistema.
- El contexto del sistema comprende varios “contenedores”, que son unidades desplegables como un sitio web, un servicio web, una base de datos, etc.
- Cada contenedor, a su vez, comprende varios “componentes”, que son los principales bloques estructurales en el código.
- Finalmente, cada componente comprende varias “clases” (o en una arquitectura funcional, “módulos”) que contienen un conjunto de métodos o funciones de bajo nivel.
Uno de los objetivos de una buena arquitectura es definir los distintos límites entre contenedores, componentes y módulos, de modo que, cuando surjan nuevos requisitos, como inevitablemente ocurrirá, el “costo del cambio” se minimice.