Categorie
Javascript Programmazione

{JS} Façade Pattern

Cos’è il Façade Pattern?

Similmente all’Adapter Pattern, che si occupa di modificare l’interfaccia/la struttura di un oggetto, il pattern Façade, si occupa di modificare l’interfaccia di una funzionalità/funzione.

Scopo

Lo scopo di questo pattern è di fornire un’interfaccia di alto livello per nascondendo la complessità sottostante.

Scenario

Supponiamo che per ricavare un certo dato abbiamo bisogno di effettuare un’elaborazione complessa e di coinvolgere diversi oggetti con i relativi metodi o funzioni globali.

Nel nostro esempio creeremo forzatamente delle funzioni evitando di utilizzare un’unica espressione matematica per calcolare il risultato di una proporzione

2:4=3:X

“2 sta a 4 come 3 sta a X”

function dividi(x,y){
return x/y;
}

function moltiplica(z,n){
return n*z;
}

Per ottenere il risultato dell’incognita “X” saremo costretti ad effettuare le seguenti operazioni:

var risultatoMoltiplicazione = moltiplica(4,3);
var risultatoProporzione = dividi(riultatoMoltiplicazione, 2);  

Façade Pattern

Adottando il Pattern Façade costruiremo una funzione che tramite una semplice invocazione si occupa di svolgere la parte complessa coordinando le funzioni coinvolte:

var calcoloProporzione = function(q,w,e){
var risultatoMoltiplicazione = moltiplica(w,e);
return  dividi(risultatoMoltiplicazione, q);
} 

Con la funzione “calcoloProporzione” che contiene/incorpora le altre due funzioni “moltiplica” e “dividi”, saremo in grado di calcolare, invocando un’unica funzione molteplici calcoli di proporzioni.

calcoloProporzione(2,4,3);
// 6

Abbiamo creato un’interfaccia di alto livello per il calcolo di proporzioni.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *