Home Articoli Ingegneria del software Design Pattern - Abstract Factory

Page Rank Check    





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

Design Pattern - Abstract Factory

Abstract Factory è un Design Pattern di tipo "creazionale" che consente, come i Design Pattern di tale gruppo, di astrarre il processo di creazione degli oggetti.

  • INTENTO

Abstract Factory definisce un'unica interfaccia attraverso la quale verranno poi istanziate intere famiglie di oggetti (legati in qualche modo, anche solo concettualmente, tra loro).

 

  • MOTIVAZIONE

Consente di lavorare con famiglie di classi astratte (che lavorano insieme), facilmente modificabili in seguito senza dover modificare, per questo, altri parte del programma (riferimenti, ...).

 

 

  • SOLUZIONE

Si utilizza AbstractFactory come interfaccia per creare le sopra menzionate famiglie di oggetti; gli oggetti che estendono da ConcreteFactory, poi, implementeranno le operazioni necessarie per creare gli oggetti specifici.

Gli oggetti creati da un ConcreteFactory sono di tipo Product, ed implementano l'interfaccia Abstract Product (interfaccia per una famiglia di oggetti).

Di tutta quest'architettura, il client "vede" ed utilizza solo le interfacce dichiarate da AbstractFactory e AbstractProduct.

 

  • CONSEGUENZE

Consente di usare, mediante un unico riferimento per la loro creazione, intere famiglie di classi, che sono addirittura facilmente intercambiabili.

Tags:     ingegneria del software      design patern      abstract factory      abstract      factory
Ultimo aggiornamento Domenica 22 Gennaio 2012 15:24
 

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