Modelo-Vista-Controlador (MVC) Edgardo Bermúdez Pedro Martínez Víctor González.
-
Upload
inigo-miron -
Category
Documents
-
view
10 -
download
1
Transcript of Modelo-Vista-Controlador (MVC) Edgardo Bermúdez Pedro Martínez Víctor González.
Modelo-Vista-Controlador (MVC)
Edgardo BermuacutedezPedro MartiacutenezViacutector Gonzaacutelez
Modelo-Vista-Controlador
Este patroacuten fue descrito por primera vez por Trygve Reenskaug en 1979 y la implementacioacuten original fue realizada en Smalltalk en los laboratorios Xerox
MVC se basa en la separacioacuten de la aplicacioacuten en tres capas principales Modelo Vista y Controlador
Se usa (eacutel o alguna de sus variantes) en la gran mayoriacutea de las interfaces de usuario
Modelo-Vista-Controlador
Modelo es la representacioacuten especiacutefica del dominio de la informacioacuten sobre la cual funciona la aplicacioacuten
El modelo es otra forma de llamar a la capa de dominio
La loacutegica de dominio antildeade significado a los datos por ejemplo calculando si hoy es el cumpleantildeos del usuario o los totales impuestos o portes en un carrito de la compra
Modelo-Vista-Controlador
Vista Se presenta el modelo en un formato adecuado para interactuar usualmente un elemento de interfaz de usuario
Controlador Este responde a eventos usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista
Modelo-Vista-Controlador
En general
Modelo-Vista-Controlador
Muchas aplicaciones utilizan un mecanismo de almacenamiento persistente (como puede ser una base de datos) para almacenar los datos MVC no menciona especiacuteficamente esta capa de acceso a datos porque supone que estaacute encapsulada por el modelo
El objetivo primordial del MVC es la reutilizacioacuten del coacutedigo ya implementado
Esta tarea se facilita mucho si a la hora de programar tenemos la precaucioacuten de separar el coacutedigo en varias partes que sean susceptibles de ser reutilizadas sin modificaciones
Modelo-Vista-Controlador
Ejemplos
Los datos de una hoja de caacutelculo pueden mostrarse de en formato tabular con un graacutefico de barras con uno de sectores
Los datos son el modelo Si cambia el modelo las vistas deberiacutean actualizarse en
consonancia El usuario manipula el modelo a traveacutes de las vistas 1048698 (en realidad a traveacutes de los controladores)
Modelo-Vista-Controlador
Mas de una Vista de un Modelo de Datos
Modelo-Vista-Controlador
MVC es utilizado con mayor frecuencia en las aplicaciones web donde la Vista es la paacutegina HTML y el Controlador es el coacutedigo que reuacutene la data dinaacutemica y genera el contenido de la paacutegina
El Modelo es representado por el contenido actual que usualmente se encuentra almacenado en una base de datos o en archivos XML
Modelo-Vista-Controlador
Modelo-Vista-Controlador
Fortalezas 1048698 Se presenta la misma informacioacuten de distintas formas
1048698 Las vistas y comportamiento de una aplicacioacuten deben reflejar las manipulaciones de los datos de forma inmediata
1048698 Deberiacutea ser faacutecil cambiar la interfaz de usuario (incluso en tiempo de ejecucioacuten)
1048698 Permitir diferentes estaacutendares de interfaz de usuario o portarla a otros entornos no deberiacutea afectar al coacutedigo de la aplicacioacuten
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Este patroacuten fue descrito por primera vez por Trygve Reenskaug en 1979 y la implementacioacuten original fue realizada en Smalltalk en los laboratorios Xerox
MVC se basa en la separacioacuten de la aplicacioacuten en tres capas principales Modelo Vista y Controlador
Se usa (eacutel o alguna de sus variantes) en la gran mayoriacutea de las interfaces de usuario
Modelo-Vista-Controlador
Modelo es la representacioacuten especiacutefica del dominio de la informacioacuten sobre la cual funciona la aplicacioacuten
El modelo es otra forma de llamar a la capa de dominio
La loacutegica de dominio antildeade significado a los datos por ejemplo calculando si hoy es el cumpleantildeos del usuario o los totales impuestos o portes en un carrito de la compra
Modelo-Vista-Controlador
Vista Se presenta el modelo en un formato adecuado para interactuar usualmente un elemento de interfaz de usuario
Controlador Este responde a eventos usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista
Modelo-Vista-Controlador
En general
Modelo-Vista-Controlador
Muchas aplicaciones utilizan un mecanismo de almacenamiento persistente (como puede ser una base de datos) para almacenar los datos MVC no menciona especiacuteficamente esta capa de acceso a datos porque supone que estaacute encapsulada por el modelo
El objetivo primordial del MVC es la reutilizacioacuten del coacutedigo ya implementado
Esta tarea se facilita mucho si a la hora de programar tenemos la precaucioacuten de separar el coacutedigo en varias partes que sean susceptibles de ser reutilizadas sin modificaciones
Modelo-Vista-Controlador
Ejemplos
Los datos de una hoja de caacutelculo pueden mostrarse de en formato tabular con un graacutefico de barras con uno de sectores
Los datos son el modelo Si cambia el modelo las vistas deberiacutean actualizarse en
consonancia El usuario manipula el modelo a traveacutes de las vistas 1048698 (en realidad a traveacutes de los controladores)
Modelo-Vista-Controlador
Mas de una Vista de un Modelo de Datos
Modelo-Vista-Controlador
MVC es utilizado con mayor frecuencia en las aplicaciones web donde la Vista es la paacutegina HTML y el Controlador es el coacutedigo que reuacutene la data dinaacutemica y genera el contenido de la paacutegina
El Modelo es representado por el contenido actual que usualmente se encuentra almacenado en una base de datos o en archivos XML
Modelo-Vista-Controlador
Modelo-Vista-Controlador
Fortalezas 1048698 Se presenta la misma informacioacuten de distintas formas
1048698 Las vistas y comportamiento de una aplicacioacuten deben reflejar las manipulaciones de los datos de forma inmediata
1048698 Deberiacutea ser faacutecil cambiar la interfaz de usuario (incluso en tiempo de ejecucioacuten)
1048698 Permitir diferentes estaacutendares de interfaz de usuario o portarla a otros entornos no deberiacutea afectar al coacutedigo de la aplicacioacuten
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Modelo es la representacioacuten especiacutefica del dominio de la informacioacuten sobre la cual funciona la aplicacioacuten
El modelo es otra forma de llamar a la capa de dominio
La loacutegica de dominio antildeade significado a los datos por ejemplo calculando si hoy es el cumpleantildeos del usuario o los totales impuestos o portes en un carrito de la compra
Modelo-Vista-Controlador
Vista Se presenta el modelo en un formato adecuado para interactuar usualmente un elemento de interfaz de usuario
Controlador Este responde a eventos usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista
Modelo-Vista-Controlador
En general
Modelo-Vista-Controlador
Muchas aplicaciones utilizan un mecanismo de almacenamiento persistente (como puede ser una base de datos) para almacenar los datos MVC no menciona especiacuteficamente esta capa de acceso a datos porque supone que estaacute encapsulada por el modelo
El objetivo primordial del MVC es la reutilizacioacuten del coacutedigo ya implementado
Esta tarea se facilita mucho si a la hora de programar tenemos la precaucioacuten de separar el coacutedigo en varias partes que sean susceptibles de ser reutilizadas sin modificaciones
Modelo-Vista-Controlador
Ejemplos
Los datos de una hoja de caacutelculo pueden mostrarse de en formato tabular con un graacutefico de barras con uno de sectores
Los datos son el modelo Si cambia el modelo las vistas deberiacutean actualizarse en
consonancia El usuario manipula el modelo a traveacutes de las vistas 1048698 (en realidad a traveacutes de los controladores)
Modelo-Vista-Controlador
Mas de una Vista de un Modelo de Datos
Modelo-Vista-Controlador
MVC es utilizado con mayor frecuencia en las aplicaciones web donde la Vista es la paacutegina HTML y el Controlador es el coacutedigo que reuacutene la data dinaacutemica y genera el contenido de la paacutegina
El Modelo es representado por el contenido actual que usualmente se encuentra almacenado en una base de datos o en archivos XML
Modelo-Vista-Controlador
Modelo-Vista-Controlador
Fortalezas 1048698 Se presenta la misma informacioacuten de distintas formas
1048698 Las vistas y comportamiento de una aplicacioacuten deben reflejar las manipulaciones de los datos de forma inmediata
1048698 Deberiacutea ser faacutecil cambiar la interfaz de usuario (incluso en tiempo de ejecucioacuten)
1048698 Permitir diferentes estaacutendares de interfaz de usuario o portarla a otros entornos no deberiacutea afectar al coacutedigo de la aplicacioacuten
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Vista Se presenta el modelo en un formato adecuado para interactuar usualmente un elemento de interfaz de usuario
Controlador Este responde a eventos usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista
Modelo-Vista-Controlador
En general
Modelo-Vista-Controlador
Muchas aplicaciones utilizan un mecanismo de almacenamiento persistente (como puede ser una base de datos) para almacenar los datos MVC no menciona especiacuteficamente esta capa de acceso a datos porque supone que estaacute encapsulada por el modelo
El objetivo primordial del MVC es la reutilizacioacuten del coacutedigo ya implementado
Esta tarea se facilita mucho si a la hora de programar tenemos la precaucioacuten de separar el coacutedigo en varias partes que sean susceptibles de ser reutilizadas sin modificaciones
Modelo-Vista-Controlador
Ejemplos
Los datos de una hoja de caacutelculo pueden mostrarse de en formato tabular con un graacutefico de barras con uno de sectores
Los datos son el modelo Si cambia el modelo las vistas deberiacutean actualizarse en
consonancia El usuario manipula el modelo a traveacutes de las vistas 1048698 (en realidad a traveacutes de los controladores)
Modelo-Vista-Controlador
Mas de una Vista de un Modelo de Datos
Modelo-Vista-Controlador
MVC es utilizado con mayor frecuencia en las aplicaciones web donde la Vista es la paacutegina HTML y el Controlador es el coacutedigo que reuacutene la data dinaacutemica y genera el contenido de la paacutegina
El Modelo es representado por el contenido actual que usualmente se encuentra almacenado en una base de datos o en archivos XML
Modelo-Vista-Controlador
Modelo-Vista-Controlador
Fortalezas 1048698 Se presenta la misma informacioacuten de distintas formas
1048698 Las vistas y comportamiento de una aplicacioacuten deben reflejar las manipulaciones de los datos de forma inmediata
1048698 Deberiacutea ser faacutecil cambiar la interfaz de usuario (incluso en tiempo de ejecucioacuten)
1048698 Permitir diferentes estaacutendares de interfaz de usuario o portarla a otros entornos no deberiacutea afectar al coacutedigo de la aplicacioacuten
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
En general
Modelo-Vista-Controlador
Muchas aplicaciones utilizan un mecanismo de almacenamiento persistente (como puede ser una base de datos) para almacenar los datos MVC no menciona especiacuteficamente esta capa de acceso a datos porque supone que estaacute encapsulada por el modelo
El objetivo primordial del MVC es la reutilizacioacuten del coacutedigo ya implementado
Esta tarea se facilita mucho si a la hora de programar tenemos la precaucioacuten de separar el coacutedigo en varias partes que sean susceptibles de ser reutilizadas sin modificaciones
Modelo-Vista-Controlador
Ejemplos
Los datos de una hoja de caacutelculo pueden mostrarse de en formato tabular con un graacutefico de barras con uno de sectores
Los datos son el modelo Si cambia el modelo las vistas deberiacutean actualizarse en
consonancia El usuario manipula el modelo a traveacutes de las vistas 1048698 (en realidad a traveacutes de los controladores)
Modelo-Vista-Controlador
Mas de una Vista de un Modelo de Datos
Modelo-Vista-Controlador
MVC es utilizado con mayor frecuencia en las aplicaciones web donde la Vista es la paacutegina HTML y el Controlador es el coacutedigo que reuacutene la data dinaacutemica y genera el contenido de la paacutegina
El Modelo es representado por el contenido actual que usualmente se encuentra almacenado en una base de datos o en archivos XML
Modelo-Vista-Controlador
Modelo-Vista-Controlador
Fortalezas 1048698 Se presenta la misma informacioacuten de distintas formas
1048698 Las vistas y comportamiento de una aplicacioacuten deben reflejar las manipulaciones de los datos de forma inmediata
1048698 Deberiacutea ser faacutecil cambiar la interfaz de usuario (incluso en tiempo de ejecucioacuten)
1048698 Permitir diferentes estaacutendares de interfaz de usuario o portarla a otros entornos no deberiacutea afectar al coacutedigo de la aplicacioacuten
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Muchas aplicaciones utilizan un mecanismo de almacenamiento persistente (como puede ser una base de datos) para almacenar los datos MVC no menciona especiacuteficamente esta capa de acceso a datos porque supone que estaacute encapsulada por el modelo
El objetivo primordial del MVC es la reutilizacioacuten del coacutedigo ya implementado
Esta tarea se facilita mucho si a la hora de programar tenemos la precaucioacuten de separar el coacutedigo en varias partes que sean susceptibles de ser reutilizadas sin modificaciones
Modelo-Vista-Controlador
Ejemplos
Los datos de una hoja de caacutelculo pueden mostrarse de en formato tabular con un graacutefico de barras con uno de sectores
Los datos son el modelo Si cambia el modelo las vistas deberiacutean actualizarse en
consonancia El usuario manipula el modelo a traveacutes de las vistas 1048698 (en realidad a traveacutes de los controladores)
Modelo-Vista-Controlador
Mas de una Vista de un Modelo de Datos
Modelo-Vista-Controlador
MVC es utilizado con mayor frecuencia en las aplicaciones web donde la Vista es la paacutegina HTML y el Controlador es el coacutedigo que reuacutene la data dinaacutemica y genera el contenido de la paacutegina
El Modelo es representado por el contenido actual que usualmente se encuentra almacenado en una base de datos o en archivos XML
Modelo-Vista-Controlador
Modelo-Vista-Controlador
Fortalezas 1048698 Se presenta la misma informacioacuten de distintas formas
1048698 Las vistas y comportamiento de una aplicacioacuten deben reflejar las manipulaciones de los datos de forma inmediata
1048698 Deberiacutea ser faacutecil cambiar la interfaz de usuario (incluso en tiempo de ejecucioacuten)
1048698 Permitir diferentes estaacutendares de interfaz de usuario o portarla a otros entornos no deberiacutea afectar al coacutedigo de la aplicacioacuten
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Ejemplos
Los datos de una hoja de caacutelculo pueden mostrarse de en formato tabular con un graacutefico de barras con uno de sectores
Los datos son el modelo Si cambia el modelo las vistas deberiacutean actualizarse en
consonancia El usuario manipula el modelo a traveacutes de las vistas 1048698 (en realidad a traveacutes de los controladores)
Modelo-Vista-Controlador
Mas de una Vista de un Modelo de Datos
Modelo-Vista-Controlador
MVC es utilizado con mayor frecuencia en las aplicaciones web donde la Vista es la paacutegina HTML y el Controlador es el coacutedigo que reuacutene la data dinaacutemica y genera el contenido de la paacutegina
El Modelo es representado por el contenido actual que usualmente se encuentra almacenado en una base de datos o en archivos XML
Modelo-Vista-Controlador
Modelo-Vista-Controlador
Fortalezas 1048698 Se presenta la misma informacioacuten de distintas formas
1048698 Las vistas y comportamiento de una aplicacioacuten deben reflejar las manipulaciones de los datos de forma inmediata
1048698 Deberiacutea ser faacutecil cambiar la interfaz de usuario (incluso en tiempo de ejecucioacuten)
1048698 Permitir diferentes estaacutendares de interfaz de usuario o portarla a otros entornos no deberiacutea afectar al coacutedigo de la aplicacioacuten
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Mas de una Vista de un Modelo de Datos
Modelo-Vista-Controlador
MVC es utilizado con mayor frecuencia en las aplicaciones web donde la Vista es la paacutegina HTML y el Controlador es el coacutedigo que reuacutene la data dinaacutemica y genera el contenido de la paacutegina
El Modelo es representado por el contenido actual que usualmente se encuentra almacenado en una base de datos o en archivos XML
Modelo-Vista-Controlador
Modelo-Vista-Controlador
Fortalezas 1048698 Se presenta la misma informacioacuten de distintas formas
1048698 Las vistas y comportamiento de una aplicacioacuten deben reflejar las manipulaciones de los datos de forma inmediata
1048698 Deberiacutea ser faacutecil cambiar la interfaz de usuario (incluso en tiempo de ejecucioacuten)
1048698 Permitir diferentes estaacutendares de interfaz de usuario o portarla a otros entornos no deberiacutea afectar al coacutedigo de la aplicacioacuten
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
MVC es utilizado con mayor frecuencia en las aplicaciones web donde la Vista es la paacutegina HTML y el Controlador es el coacutedigo que reuacutene la data dinaacutemica y genera el contenido de la paacutegina
El Modelo es representado por el contenido actual que usualmente se encuentra almacenado en una base de datos o en archivos XML
Modelo-Vista-Controlador
Modelo-Vista-Controlador
Fortalezas 1048698 Se presenta la misma informacioacuten de distintas formas
1048698 Las vistas y comportamiento de una aplicacioacuten deben reflejar las manipulaciones de los datos de forma inmediata
1048698 Deberiacutea ser faacutecil cambiar la interfaz de usuario (incluso en tiempo de ejecucioacuten)
1048698 Permitir diferentes estaacutendares de interfaz de usuario o portarla a otros entornos no deberiacutea afectar al coacutedigo de la aplicacioacuten
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Modelo-Vista-Controlador
Fortalezas 1048698 Se presenta la misma informacioacuten de distintas formas
1048698 Las vistas y comportamiento de una aplicacioacuten deben reflejar las manipulaciones de los datos de forma inmediata
1048698 Deberiacutea ser faacutecil cambiar la interfaz de usuario (incluso en tiempo de ejecucioacuten)
1048698 Permitir diferentes estaacutendares de interfaz de usuario o portarla a otros entornos no deberiacutea afectar al coacutedigo de la aplicacioacuten
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Fortalezas 1048698 Se presenta la misma informacioacuten de distintas formas
1048698 Las vistas y comportamiento de una aplicacioacuten deben reflejar las manipulaciones de los datos de forma inmediata
1048698 Deberiacutea ser faacutecil cambiar la interfaz de usuario (incluso en tiempo de ejecucioacuten)
1048698 Permitir diferentes estaacutendares de interfaz de usuario o portarla a otros entornos no deberiacutea afectar al coacutedigo de la aplicacioacuten
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
En UMLSe propone para el desarrollo del
Modelo de Anaacutelisis de las aplicaciones tres tipos de clases fundamentales con las cuales podemos expresar todas las funciones de cualquier software con sus respectivas responsabilidades
Clase Interfaz ltltInterfacegtgtRecepcionar peticiones al sistemaMostrar respuestas del sistema
Clase Entidad ltltEntitygtgtGestionar datos (informacioacuten) necesaria para el sistemaAlmacenar datos (informacioacuten) persistentes del sistemaProvee la funcionalidad principal dela aplicacioacuten
Clase Controlador ltltControllergtgtProcesar Informacioacuten del sistemaGestionar visualizacioacuten de respuesta del sistemaObtiene los datos del modelo
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Variante inicial del Patroacuten MVC
Variantes del Modelo
- Variante en la cual no existe ninguna comunicacioacuten entre el Modelo y la Vista y esta uacuteltima recibe los datos a mostrar a traveacutes del Controlador
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Variante en la cual se desarrolla una comunicacioacuten entre el Modelo y la Vista donde esta uacuteltima al mostrar los datos los busca directamente en el Modelo dada una indicacioacuten del Controlador disminuyendo el conjunto de responsabilidades de este uacuteltimo
Variante Intermedia del Patroacuten MVC
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Muchas interfaces graacuteficas de usuario como Swing o MFC hacen innecesario el uso de un controlador
1048698 Definen su propio flujo de control y manejan los eventos internamente
1048698 Integran asiacute la vista y el controlador
1048698 A esta variante se la suele denominar Document-View
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Modelo-Vista-Controlador
Un controlador (controladorjava por ejemplo) puede gestionar el clic en un botoacuten de tal forma que recoge datos por medio del Modelo (modelcargar_texto()) y los manda a la Vista (el applet) para su actualizacioacuten (vistamostrar_texto( ))
Responde al click en botoacuten abrir La respuesta al evento es hacer que se abra en la vista el archivo correspondiente a la referencia seleccionada en el combo box void b_abrir_actionPerformed(ActionEvent e) hellip
String texto_archivo = modelcargar_texto( indice_ref ) Obtener texto de archivo Si la carga de archivo es ok lo muestro Si no aviso de error if (texto_archivo = null)
vistamostrar_texto(texto_archivo) Mostrar texto vistamostrar_aviso(Carga de + path + completada)
else
vistamostrar_aviso(Error en la carga de + path)
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
PROXY
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
Propoacutesito
Proporciona un sustituto de otro objeto con el fin de controlar su acceso
MotivacioacutenRazoacuten para controlar el acceso a un
objeto Diferir el coste de su creacioacuten e inicializacioacuten hasta que el objeto realmente se necesite
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
Ejemplo
Editor de documentos que permite objetos graacuteficos abrir un documento deberiacutea ser raacutepido realmente no todos los objetos son visibles a la vez
SolucioacutenCrear los objetos ldquobajo demandardquo
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
Solucioacuten
Usar un objeto que sustituya a la imagen real (PROXY)
El proxy actuacutea como si fuese la imagen y la instancia cuando es necesario
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
Solucioacuten
La imagen estaacute guardada en archivos separados y el Proxy guarda el nombre del archivo como la referencia al objeto real El Proxy tambieacuten guarda el tamantildeo
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
El editor de documento accede a la imagen a traveacutes de la interfaz definida por la clase abstracta Graphic
ImageProxy es una clase para las imaacutegenes que es creada por demanda contiene el nombre del archivo como una referencia a la imagen en el disco
El nombre del archivo es pasado como argumento al constructor de ImageProxy
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
ImageProxy tambieacuten guarda el tamantildeo de la imagen y una referencia a la instancia real Esta referencia no seraacute valida hasta que el Proxy instancie la imagen real
La operacioacuten Draw se asegura que la imagen esta instanciada antes de responder la solicitud
GetExtent reenviacutea la solicitud a la imagen solo si ya fue instanciada de lo contrario ImageProxy devuelve el tamantildeo que tiene guardado
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
AplicacionesDonde exista la necesidad de referenciar un objeto de forma maacutes versaacutetil y sofisticada que un puntero
Proxy remoto (Ambassador Embajador)
Proporciona un representante local de un objeto en un
espacio de memoria diferenteProxy virtual
Para crear objetos de gran tamantildeo bajo demanda
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
Proxy de proteccioacutenControla el acceso al objeto original Es uacutetil si el objeto original tiene diferentes derechos de acceso
Referencia elegante (smart pointers)Realiza acciones adicionales cuando se acceden a los elementos referenciados
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
Estructura
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
Diagrama de Secuencia
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
Participantes
ProxyMantiene un referencia al objeto realMantiene un mismo interfaz que el objeto
realMantiene el acceso al objeto realCodificacioacuten de peticiones Caching de
informacioacuten comprobar permisos
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
Participantes
SubjectDefine el interfaz comuacuten a Proxy y
RealSubject
RealSubjectDefine el objeto real que representa el Proxy
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
ConsecuenciasEl proxy introduce un nivel de indireccioacuten
cuando accede a un objeto La indireccioacuten
tiene muchos usos dependiendo del tipo de
proxyRemoto ocultar espacio de memoriaVirtual optimizaciones creando objetos bajo
demandaProteccioacuten tareas adicionales
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
Proxy
Relacionados
Si ofrece un interfaz distinto (proxy de seguridad)
AdapterTiene una implementacioacuten similar a
Decorator
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
PROXYBROKER
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
PropoacutesitoEstructurar sistemas distribuidos en los cuales surge la necesidad de una iteracioacuten remota entre componentes
MotivacioacutenDesacoplar la interaccioacuten de los usuarios en los clientes y servidores
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
Ejemplo
En el desarrollo de un ldquoMercado Webrdquo tenemos desarrollados dos agentes el comprador y el vendedor Pero estos estaacuten desarrollados en plataformas diferentes que no permite que tengan comunicacioacuten
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
Solucioacuten
Cuando un cliente necesita comprar un producto solicita a traveacutes de un Proxy al agente Broker los vendedores que tiene registrado El Broker se comunica por un Proxy con el servidor para llevar a cabo la peticioacuten
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
Solucioacuten
El agente Broker entrega la informacioacuten necesaria a el proxy-cliente y al proxy-servidor para que estos establezcan una comunicacioacuten efectiva que permita realizar la operacioacuten
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
Los broker permiten realizar conexiones entre clientes y servidores de diferentes plataformas
Le entregan la informacioacuten necesaria a los Proxy para que estos realicen las conexiones
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
Otro ejemplo
El broker sirve de intermediario entre el comprador y el vendedor
Permitiendo que logren conectarse y realizar la transaccioacuten
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
Los patrones ProxyBroker se pueden implementar de diferentes maneras esto depende de los requerimientos de los sistemas
Una Forma de implementarlos es permitiendo que los Proxy cliente y servidor se comuniquen entre ellos cuando es posible
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
Diagrama de Secuencia
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
Otra manera muy usada es no permitir que los Proxy cliente y servidor se comuniquen
Esta restriccioacuten podriacutea ser necesaria por poliacuteticas de seguridad de los servidores
Tambieacuten por mantener un orden y control de todo lo que pasa por los Proxys
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
Consecuencias
Aislamiento Entre la aplicacioacuten y los servidores
Sencillez permite que sea mas sencilla la construccioacuten de los sistemas
Flexibilidad Permite cambiar capas sin afectar las aplicaciones relacionadas con esta
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P
ProxyBroker
EjemplosEste patroacuten es muy usado por sistemas con estaacutendar CORBA (Arquitectura comuacuten de intermediarios en peticiones a objetos)
Microsofts OLE 2x World Wide Web ATM-P