es
también
que
que
que
un
una
un
el
el
las
que
es una
que
es
se
Sino
en la que
estas
es una
Actúa
es
y
cada
por
la
no
las
envia
define la
no
mientras
hace
está
de
de
de

PATRONES ARQUITECTÓNICOS

Estructura

Arquitectura por capas

Enfocada en la distribución de roles y responsabilidades de forma jerárquica

Una forma muy efectiva de separación de responsabilidades

PRINCIPIOS FUNDAMENTALES

Abstracción

Abstrae la vista del modelo como un todo

Provee suficiente detalle para entender las relaciones entre capas.

Encapsulamiento

Hace asunciones acerca de tipos de datos, métodos, propiedades o implementación.

Funcionalidad claramente definida

Separación entre la funcionalidad de cada capa.

La capa de presentación

Comandos a las capas inferiores

La capa de negocios y la capa de datos y los datos fluyen hacia y desde las capas en cualquier sentido.

Alta cohesion

Cada capa contiene funcionalidad directamente relacionas con la tarea de dicha capa.

Reutilizable

Capas inferiores

Tienen ninguna dependencia con las capas superiores, permitiéndoles ser reutilizables en otros escenarios.

Desacople

Comunicacion entre las capas está basada en la abstracción lo que provee un desacople entre las capas.

Tuberías y filtros

Los tubos fluyen datos

Son salidas de un filtro y la entrada de otro.

Filtro

Admite uno o varios tubos

Independiente del resto y no conocen la identidad de los filtros antes y depués de él.

Como proceso independiente consumiendo recursos cada vez que se invoca.

Distribución

Peer to peer

Red de ordenadores

Todos o algunos aspectos funcionan sin clientes ni servidores fijos

Una serie de nodos que se comportan como iguales entre sí

Aprovechan, administran y optimizan el uso del ancho de banda de los demás usuarios

Broker

Utiliza para organizar

Sistemas distribuidos con componentes desacoplados

Interaccionan realizando invocaciones remotas a servicios.

El responsable de coordinar la comunicación

Reenviar solicitudes y transmitir resultados o excepciones

Cliente servidor

Arquitectura distribuida

Permite a los usuarios finales obtener acceso a la información en forma transparente aún en entornos multiplataforma.

Funciones que lleva a cabo

Cliente

Administrar la interfaz de usuario.

Interactuar con el usuario.

Procesar la lógica de la aplicación y hacer validaciones locales.

Generar requerimientos de bases de datos.

Recibir resultados del servidor.

Formatear resultados.

Servidor

Aceptar los requerimientos de bases de datos que hacen los clientes.

Procesar requerimientos de bases de datos.

Formatear datos para trasmitirlos a los clientes

Procesar la lógica de la aplicación y realizar validaciones a nivel de bases de datos.

Sistemas interactivos

Modelo vista controlado

Cada elemento tiene 3 partes

Modelo

Contiene los datos y la funcionalidad de
la aplicación

Vista

Gestiona como se muestran esos datos

Controlador

Determina que modificaciones hay
que hacer en el modelo cuando se interacciona con la
vista.

Puede contener algoritmos

Ventajas

Posible

Tener diferentes vistas para un
mismo modelo

Construir nuevas vistas sin
necesidad de modificar el modelo subyacente