Facade significa "facciata" ed infatti un oggetto sfruttando questo pattern, semplicemente si trasforma in una facciata per altri sistemi, nascondendo dietro le quinte altre chiamate verso altri oggetti interni.
Nel seguente semplice esempio si vede chiaramente come, chiamando il metodo facade BookHolidayPackage, che si occupa di prenotare la nostra vacanza, questo si prenda cura di chiamare nell'ordine corretto il sottoinsieme di oggetti che prenotano i diversi elementi che la compongono:
public void BookHolidayPackage(){
_flightBooking.BookFlight();
_hotelBooking.BookHotel();
_carBooking.BookCar();
}
#
designPatterns #
programmazione