Post on 02-Jul-2015
description
Patrones de Diseño - Facade
Provee una interface unificada a un conjunto de interfaces en un subsistema.
Define una interface de alto nivel que hace al subsistema más fácil de usar.
Se usa Facade cuando :
●Se quiere proveer de una simple interface a un subsistema complejo.
●Hay muchas dependencias entre los clientes y las clases del subsistema.
●Se quiere crear una capa sobre el subsistema que defina un punto de entrada
para cada nivel del subsistema.
Patrones de Diseño - Facade
Estructura :
Participantes :
●Facade :
Sabe a qué clases del susbsistema le corresponde una petición.
Delega las peticiones del cliente a los objetos apropiados del subsistema.
●Subsystem Classes :
Implementan la funcionalidad del sistema
Dirigen el trabajo asignado por el objeto Facade.
No tienen conocimiento del objeto Facade; es decir, no tienen referencias a él.
Patrones de Diseño - Facade
Consecuencias :
●Separa al cliente de los componentes del subsistema.
●Favorece el bajo acoplamiento entre el subsistema y el cliente.
Patrones de Diseño - FacadePatrones Relacionados :●El patrón Abstract Factory puede ser usado con Facade para proporcionar una
interface para crear objetos del subsistema en una forma de subistema
independiente.
●El patrón Mediator es similar a Facade, ambos abstraen la funcionaldad de las
clases.
●El propósito de Mediator es abstraer arbitrariamente la comunicación entre los
objetos colegas.
●Los objetos colegas estan enterados de esto y se comunican con el Mediator y no
directamente entre ellos.
●El patrón Facade solamente abstrae la interface a los objetos subsistema para
facilitar su uso.
●Los objetos del subsistema no saben de la existencia del patron Facade, además
éste no define nuevas funcionalidades.
●A menudo los objetos Facade son Singletons, ya que sólo se ocupa uno.