Patron de Diseño Facade

Preview:

DESCRIPTION

DefiniciónObjetivoEstructuraParticipantesColaboracionesAplicacionesVentajas y desventajas

Citation preview

Presentacin de PowerPoint

UNIVERSIDAD NACIONAL DE TRUJILLOPATRN DE DISEO FACADE1. Definicin:El patrn de diseo facade o fachada nos permite simplificar el interface de comunicacin entre dos objetos X y Z de tal forma que para el objeto X sea ms sencillo interactuar con el objeto Z. El Patrn Fachada se caracteriza por ser una puerta de entrada hacia otro subsistema. Provee una interfaz unificada y sencilla que haga de intermediaria entre un cliente y una interfaz o grupo de interfaces ms complejas.

2. OBJETIVO:Agrupar las interfaces de un conjunto de objetos en una interfaz unificada volviendo a este conjunto ms fcil de usar por parte de un cliente.Encapsula la interfaz de cada objeto considerada como interfaz de bajo nivel en una interfaz nica de nivel ms elevado.

3. Estructura:

Por ejemplo, se tiene la clase A debe saber cul es exactamente la clase que le proporciona el servicio: b1() es de B, c1() de C, d1() de D, ...

Pero el problema sera mayor, si hay ms de un cliente:

En estos caso, se puede usar este patrn de la siguiente forma: Proporcionando una clase que implemente todos los servicios (b1(),c1(),d1()). Los clientes slo usarn dicha clase.

4. Diagrama de clases::Los participantes del patrn son los siguientes:Fachada y su interfaz constituyen la parte abstracta expuesta a los clientes del sistema. Esta clase posee referencias hacia las clases y componentes que forman el sistema y cuyos mtodos se utilizan en la fachada para implementar la interfaz unificada. Las clases y componentes del sistema implementan las funcionalidades del sistema y responden a las consultas de la fachada. No necesitan a la fachada para trabajar.

5. Participantes:Los participantes del patrn son los siguientes:Fachada y su interfaz constituyen la parte abstracta expuesta a los clientes del sistema. Esta clase posee referencias hacia las clases y componentes que forman el sistema y cuyos mtodos se utilizan en la fachada para implementar la interfaz unificada. Las clases y componentes del sistema implementan las funcionalidades del sistema y responden a las consultas de la fachada. No necesitan a la fachada para trabajar.

5. Participantes:Los clientes se comunican con el sistema a travs de la fachada

Los objetos del subsistema realizan el trabajo final

Los clientes no tienen que accede directamente a los subsistemas

La fachada no se limita solo a transmitir invocaciones5. colaboraciones

Un cliente necesita acceder a parte de una funcionalidadGrupos de tareas muy frecuentesUna biblioteca es difcilmente legibleDependencia entre el cdigo del cliente y parte interna de la bibliotecaAcceso a un conjunto de APIsMuchos clientes quieren usar varias clases servidoras6. AplicacionesPromover una interfaz simple de un sistema complejoDividir un sistema en subsistemasSistematizar la encapsulacin de la implementacin de un sistema de cara al exteriorPara qu se utiliza?Para modificar las clases del subsistema, solo hay que modificar las clases de los subsistemas.7. VentajaSi hay varios subconjuntos diferentes a los cuales varios clientes desean acceder, puede que al final solo se utilice una parte de la fachada.8. DesVentajas9. Patrones relacionadosProtege al cliente de los componentes del sistema

2.Promueve un acoplamiento dbil

3. No evita que se use clases del subsistema10. conclusiones