La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

María Eugenia Valencia Dpto. Ciencias de la Computación Arquitectura multicapas orientadas a objetos Descomposición de la capa de la lógica de aplicaciones:

Presentaciones similares


Presentación del tema: "María Eugenia Valencia Dpto. Ciencias de la Computación Arquitectura multicapas orientadas a objetos Descomposición de la capa de la lógica de aplicaciones:"— Transcripción de la presentación:

1 María Eugenia Valencia Dpto. Ciencias de la Computación Arquitectura multicapas orientadas a objetos Descomposición de la capa de la lógica de aplicaciones: Objetos del dominio. Servicios. Presentación TPDVApplet Lógica de aplicaciones Pago Interfaz de la Base de datos Venta Generador de reportes Conceptos del dominio Servicios Almacenamiento Base de Datos

2 María Eugenia Valencia Dpto. Ciencias de la Computación Motivos para usar arquitectura multicapas Aislamiento de la lógica de aplicaciones en componentes independientes susceptibles de reutilizarse después en otros sistemas. Distribución de las capas en varios nodos físicos de computo y en varios procesos. Esto puede mejorar el desempeño, la coordinación y el compartir la información en un sistema de cliente-servidor.

3 María Eugenia Valencia Dpto. Ciencias de la Computación Asignación de los dise;adores para que construyan determinadas capas; por ejemplo, un equipo que trabaje exclusivamente en la capa de presentación. Y así se brinda soporte a los conocimientos especializados en las habilidades de desarrollo y también a la capacidad de realizar actividades simultaneas en equipo. Motivos para usar arquitectura multicapas

4 María Eugenia Valencia Dpto. Ciencias de la Computación Representación de la Arquitectura con Paquetes UML Paquetes en UMLDiagrama de paquetes de la arquitectura Conceptos de dominio VentasElementos básicos Almacenamiento Base de datos Presentación Lógica de aplicaciones Dominio Servicios

5 María Eugenia Valencia Dpto. Ciencias de la Computación Ejemplo de paquetes y de dependencias Capa de servicios de alto nivel orientada a objetos Capa de servicios de bajo nivel (orientados a objetos y no orientados a objetos) Reportes Presentación 1 Dominio Interfaz de base de datos relacional Comunicación Interfaz de base de datos orientada a objetos Esquemas de aplicaciones y bibliotecas de soportes 2 Base de datos relacional Base de datos orientada a objetos Ejemplos: 1. Applets de Java, documentos y vistas MFC VisualParts de VisualAge 2.JDK, MFC,STL

6 María Eugenia Valencia Dpto. Ciencias de la Computación Identificación de los Paquetes Agrupe los elementos en 1 paquete así: Agrupe los elementos para ofrecer en un paquete un servicio común (o una familia de servicios relacionados), con un nivel relativamente alto de acoplamiento y colaboración. En cierto nivel de abstracción, se vera el paquete como muy cohesivo (tiene responsabilidades estrechamente relacionadas). En cambio, habrá relativamente bajo acoplamiento y colaboración entre los elementos de diferentes paquetes.

7 María Eugenia Valencia Dpto. Ciencias de la Computación Estratos y particiones Dominio Elementos básicosVentasProductos Servicios Interfaz de base de datos relacional Comunicación Interfaz de base de datos orientada a objetos Reportes Estratos verticales Particiones horizontales

8 María Eugenia Valencia Dpto. Ciencias de la Computación Visibilidad entre las clases de paquetes La visibilidad a las clases en diferentes paquetes conforman típicamente el siguiente patrón: Acceso a los paquetes del dominio. Acceso a los paquetes de servicios. Acceso a los paquetes de presentación. Dominio Visibilidad de muchas clases a partir de otros paquetes. VentaPagoCatalogo de productos Descripción de Producto... Interfaz de BDR Visibilidad de una o de unas cuantas clases en cada paquete de servicios. FachadaBDBrokerProxy... Seguridad Fachada de seguridad Usuario... obtener(id) Objeto guardar(Objeto)... agregarUsuario (usuario)...

9 María Eugenia Valencia Dpto. Ciencias de la Computación Interfaz de los paquetes de servicios: El patrón fachada Fachada Contexto/problema Se requiere una interfaz común y unificada para un conjunto heterogéneo de interfaces, un subsistema por ejemplo. ¿Qué hacer? Solución Definir una clase individual que unifique la interfaz y le asigne la responsabilidad de colaborar con el subsistema.

10 María Eugenia Valencia Dpto. Ciencias de la Computación Sin visibilidad directa respecto a la ventanas: el patrón de Separación Modelo-Vista Separación Modelo-Vista Contexto/problema Conviene desacoplar los objetos dominio (modelos) y las ventanas (vistas), a fin de brindar soporte a un mayor reuso de los objetos dominio y reducir al mínimo el impacto que los cambios de la interfaz tienen en ellos. ¿Qué hacer? Solución Definir las clases de dominio (modelo) para que no tengan acoplamiento ni visibilidad directa respecto a la clases ventana (vista) y para que los datos de la aplicación y de la funcionalidad se conserven en las clases de dominio, no en las de ventana.

11 María Eugenia Valencia Dpto. Ciencias de la Computación Comparación entre la conformidad y la violación del patrón Separación Modelo-Vista Capa de presentación (vista) :TPDV 1:introducirProducto(cup,cant) Bien. Mensajes de la capa de vista a la de presentación. Soporta la separacion modelo-vista Capa de dominio (modelo) :TPDV 1:presentarMensaje(mens) Mal. No es conveniente enviar mensajes ni realizar el acoplamiento de la capa de modelo a la de vista.

12 María Eugenia Valencia Dpto. Ciencias de la Computación La comunicación indirecta en un sistema El patrón Publicar-Suscribir Publicar-Suscribir Contexto/problema Un cambio de estado (un evento) ocurre dentro de un editor del evento y otros objetos dependen de él (suscriptores del evento). Pero el Editor no debería tener conocimiento de sus Suscriptores.¿Qué hacer? Solución Defina un sistema de notificación de eventos para que el Editor pueda notificarlos indirectamente a los Suscriptores.

13 María Eugenia Valencia Dpto. Ciencias de la Computación Publicar-Suscribir con notificación de los eventos v:ventanadeVenta:AdministradordeEventos crear( ) 1:suscribir(v,unMensaje,nuevo impuesto Un mensaje o Metodo del objeto :Venta :AdministradordeEventos ajustarImpuesto( )1:Eventose;al(nuevo impuesto) v:VentanadeVenta 1.1:unMensaje()

14 María Eugenia Valencia Dpto. Ciencias de la Computación Coordinadores de las aplicaciones Es una clase que tiene la responsabilidad de mediar entre la capa de interfaz y la del dominio. Oprime botón Cajero :Vistade Venta :DocumentodeVenta :TPDV :Venta alIntroducirProducto() asociacion 1:introducirProducto(cup,cant) asociacion 1.1:introducirProducto(cup,cant) Presentación Coordinador de aplicaciones Dominio asociacion

15 María Eugenia Valencia Dpto. Ciencias de la Computación Coordinadores de las aplicaciones (cont.) Oprime botón Cajero :EsquemadeVentas :CoordinadordeTPDV :TPDV alIntroducirProducto() asociacion 1:introducirProducto(cup,cant) asociacion 1.1:introducirProducto(cup,cant) Presentación Coordinador de aplicaciones Dominio Subclase del esquema (Frame) de java. Creada por el coordinador TPDV Envia eventos al coordinador de aplicaciones, que a su vez puede enviarlos al controlador de la capa de dominio (TPDV, por ejemplo). El coordinador de aplicaciones de Java que crea las ventanas (por ejemplo, los objetos Frame y Dialog) y que media entre la capa de ventanas y la de dominio


Descargar ppt "María Eugenia Valencia Dpto. Ciencias de la Computación Arquitectura multicapas orientadas a objetos Descomposición de la capa de la lógica de aplicaciones:"

Presentaciones similares


Anuncios Google