Design pattern

Design Patterns – Factory Method

Tipologia: Creazionale

Obiettivo: viene definita un’interfaccia per la creazione di oggetti. Le sotto-classi possono decidere quale classe istanziare. E’ possibile differire la creazione delle sottoclassi

Frequenza di utilizzo: Alta

factory - Diagramma UML
Diagramma UML – Factory

Componenti:

  • Creator: contiene il metodo factory per la creazione di oggetti di tipo Product. Può anche definire un’implementazione predefinita per il metodo factory che restituisce un ConcreteProduct predefinito
  • ConcreteProduct: implementa l’interfaccia Product
  • Product: definisce l’interfaccia degli oggetti concreti che il metodo factory genera
  • ConcreteCreator: esegue l’override del metodo factory per la creazione dell’instanza del ConcreteProduct.

Implementazione in C#

La prima classe è la classe Product:

ovvero l’interfaccia della classe astratta che verrà implementata dal ConcreteProduct:

Proseguiamo con la definizione della classe astratta Creator:

con al suo interno la definizione (sempre astratta del metodo factory). Non rimane che definire la classe concreta per il Creator, che implementa il metodo factory:

Si può notare come la classe Creator contenga al suo interno la lista di oggetti creati.

Pubblicato da

Andrea Merlin

Laureato in informatica, diversi corsi di specializzazione legati allo Sviluppo Software e alla Computer forensics. Appassionato di nuove tecnologie, amo la programmazione, la Business Intelligence e tematiche legate alla Privacy.Sempre alla ricerca di nuove idee, stimoli … e progetti da seguire!Amo trascorrere il tempo libero in Val Borbera, un piccolo angolo del Piemonte, in provincia di Alessandria.

Un commento su “Design Patterns – Factory Method”

I commenti sono chiusi.