Home Articoli Ingegneria del software Design Pattern - Facade

Page Rank Check    





Design Pattern - Facade
Articoli - Ingegneria del software
Scritto da RedBaron85   
Sabato 30 Gennaio 2010 15:08

Design Pattern - Facade

Il Design Pattern Facade è un Design Pattern strutturale così descritto:

  • INTENTO

Dato un set di interfacce di un sottosistema, vogliamo creare un'unica interfaccia per i client, interfaccia che dovrà poi reindirizzare chiamate e risposte tra le varie entità del sistema.

 

  • MOTIVAZIONE

Cercare di ridurre le comunicazioni tra client e sottosistema, con un occhio anche alla scalabilità e alla possibilità di modificare certi elementi senza dover modificare client e tutti gli altri elementi che ne fanno uso (si cambia una voce una volta sola nel Facade, gli altri attori non conoscono i cambiamenti).

 

  • SOLUZIONE

Si introduce un oggetto Facade, che fornisce un'interfaccia unificata per tutti i possibili client che intendono accedere agli elementi del sottosistema; Facade si occuperà, poi, di reindirizzare le chiamate agli elementi interessati (dovrà conoscerne le relative interfacce) e di inoltrare le risposte. In questo modo solo Facade conosce le interfacce delle classi del sottosistema e, in caso di modifica delle stesse, dovranno essere modificate solo poche voci di Facade, non quelle di tutti i client, che resteranno immutati ("vedono" solo Facade).

 

  • CONSEGUENZE

Facade promuove l'accoppiamento debole tra client e sottosistema, riducendo tra l'altro le dipendenze di compilazione in progetti grandi.

Tags:     ingegneria del software      design patern      facade
Ultimo aggiornamento Domenica 22 Gennaio 2012 15:22
 

Ti è piaciuto questo articolo ? Condividilo !



RedBaron85.com Forum community banner

Non hai trovato quello che cercavi ?
Ricerca personalizzata
Copyright © 2012 RedBaron85.com: Informatica, CG 2D e 3D, Blender, Python, Java 2D e 3D, 3D Studio e altro ancora!. Tutti i diritti riservati.
Joomla! è un software libero rilasciato sotto licenza GNU/GPL.

Milanese Francesco - Partita IVA: 04950350878

AltroArticoliblog utentiBlueprintsContestenglishProgrammazioneModelliElencoNewsTexturesTutorialsVideotutorials