Facade - Design Pattern - GoF

4

Click here to load reader

description

Resumen del patrón estructural Facade.código de ejemplo en:moleskinformatico.blogspot.com

Transcript of Facade - Design Pattern - GoF

Page 1: Facade - Design Pattern - GoF

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.

Page 2: Facade - Design Pattern - GoF

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.

Page 3: Facade - Design Pattern - GoF

Patrones de Diseño - Facade

Consecuencias :

●Separa al cliente de los componentes del subsistema.

●Favorece el bajo acoplamiento entre el subsistema y el cliente.

Page 4: Facade - Design Pattern - GoF

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.