Home

Page Rank Check    





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

Design Pattern - Factory Method

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

  • INTENTO

Factory Method crea un'interfaccia per istanziare un oggetto, ma rimanda di fatto la decisione di quale oggetto istanziare (e il relativo processo di istanziazione) alle sottoclassi.

 

  • MOTIVAZIONE

Factory Method entra in campo quando si ha una conoscenza delle classi astratte che compongono un framework ma non è possibile istanziarle direttamente, solo gestirne le relazioni, per cui si affida a Factory Method il compito di istanziare le "giuste" classi.

 

  • SOLUZIONE

Gli oggetti creati mediante Factory Method devono avere un'interfaccia comune, detta Product. Gli oggetti che implementano tale interfaccia sono detti ConcreteProduct.

Creator è invece l'interfaccia che dichiara il Factory Method() , metodo che ritorna un oggetto di tipo Product. Gli oggetti che implementano tale interfaccia sono i ConcreteCreator: essi scelgono quindi quale ConcreteProduct istanziare e ritornano tale istanza.

 

  • CONSEGUENZE

Il risultato è che le classi conoscono solo Product e lavorano direttamente solo con esso, ricevendo i ConcreteProduct più opportuni a seconda delle richieste.

Tags:     ingegneria del software      design patern      factory method      factory
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