Design pattern

Design Patterns – Prototype

Tipologia: Creazionale

Frequenza di utilizzo: Media

Obiettivo: definire gli oggetti da creare utilizzando un’istanza prototipo, creando nuovi oggetti copiando l’istanza del prototipo.

Design Patterns - Prototype
Schema UML – Prototype

Componenti:

  • Prototype: dichiara l’interfaccia per poter effetture la clonazione (auto-clonazione)
  • Concrete Prototype: implementa l’operazione per effettuare la clonazione
  • Client: crea un nuovo oggetto richiedendo al prototipo di effettuare la clonazione (auto-clonazione)

Implementazione in C#

La prima classe da definire è la Prototype:

con la definizione del metodo per effettuare la clonazione degli oggetti. Si procede quindi con la definizione della classe Concrete Prototype che implementa la classe ColorPrototype:

con l’implementazione del metodo Clone (definito nella classe astratta). Il Client, o meglio il manager, sarà così definito:

Per poter utilizzare il Client necessario crearne un’istanza, aggiungere elementi che potranno essere recuperati tramite clonazione:

E’ da notare come il Client sia responsabile della generazione di un nuovo oggetto proprio effettuando la clonazione (invocando il metodo Clone).

 

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.