Intención
Proporciona una interfaz unificada para un conjunto de interfaces de un subsistema.
Aplicabilidad
- Proporcionar una interfaz simple para un subsistema complejo.
- Hay muchas dependencias entre los clientes y las clases del subsistema.
- Queremos dividir en capa nuestros subsistemas

Los clientes se comunican con el subsistema haciendo peticiones a la Fachada (Facade), que las envía a los objetos del subsistema apropiados (la fachada podría también traducir su interfaz a la de las interfaces del subsistema).
Los clientes que usan la fachada no tienen que acceder a los objetos del subsistema directamente.
Consecuencias
- Oculta a los clientes los componentes del subsistema haciendo que sea más fácil de utilizar.
- Promueve un débil acoplamiento entre el subsistema y los clientes.
- No impide que las aplicaciones usen las clases del subsistema
Normalmente sólo hace falta un objeto Fachada, por lo cual suele implementarse como Singleton.
No hay comentarios:
Publicar un comentario