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