Patrones de diseño: Facade

Comenzamos con el primer patrón, del grupo de los estructurales.


¿Para qué nos sirve el patrón Facade?


Para simplificar u ocultar la complejidad de nuestra aplicación mediante una ‘fachada’.

Supongamos que un cliente accede a Booking y busca un hotel, pues ese método buscar llama a la ‘fachada’ y esa a su vez a los diferentes servidores de búsqueda.


Porque recordemos que Booking, busca hoteles, aviones, coches de alquiler etc...


Lo que hace es agrupar un conjunto de clases complejas en un Facade.


Te dejo un ejemplo en código:


class HotelAPI { void buscar(); }
class AvionAPI { void buscar(); }

class Facade {
 private HotelAPI hotelAPI;
 private AvionAPI avionAPI;

 Facade() { // constructor }

 public void buscar (Params ...) {
  hotelAPI.buscar();
  avionAPI.buscar();
 }
}

class main () {
 psvm () {
  Facade facade = new Facade();
  
  facade.buscar(); 
// este método llamara a todas las búsquedas necesarias, o será mas complejo, pero el cliente no tiene porque saber de esta complejidad, la fachada se encarga por él.
 }
}

Resumiendo, cuando el cliente hace una búsqueda en la web llama al método buscar() de la clase que hace de fachada, en este caso Facade, y este a su vez llamará al método buscar() de los hoteles, de los aviones, etc.


Te dejo un pequeño esquema, con otro ejemplo, en este caso un conversor de vídeo:




Espero que te haya gustado esta pequeña explicación, y nos vemos en la próxima, hasta luego.


PD: Recuerda, si te ha gustado, comparte en redes sociales :)




33 vistas

©2020 por Juanma Perez.