Design pattern

Design Patterns – Builder

Tipologia: Creazionale

Obiettivo: separare la creazione di un oggetto complesso dalla sua rappresentazione in modo da poter creare rappresentazioni differenti

Frequenza di utilizzo: Medio – Bassa

Diagramma UML - Builder
Diagramma UML – Builder

Componenti:

  • Builder: definisce l’interfaccia astratta per la creazione di parti di Product
  • Director: costruisce l’oggetto Product utilizzando l’interfaccia astratta definita in Builder
  • Product: è l’oggetto complesso da costruire. Concrete Builder costruisce la rappresentazione interna dell’oggetto Product e definisce il processo con cui verrà assemblato. Inoltre, include le classi e le interfacce degli elementi costituenti del risultato finale
  • Concrete Builder: costruisce e assembla le parti di Product implementando l’interfaccia definita all’interno di Builder. Tiene traccia delle rappresentazioni che sono state create. Definisce un’interfaccia per ottenere Product.

Implementazione in C#

Il primo componente implementato è la classe astratta Builder:

nella quale vengono definiti i metodi astratti che dovranno essere implementati. All’interno della classe astratta è anche presente la definizione di un oggetto di tipo Vehicle , accessibile da classi esterne ma solo in modalità read-only.

La seconda classe da implementare è Concrete Builder che implementerà i metodi definiti all’interno della Builder:

Il compito di questa classe è quello di creare l’oggetto product, definito in questo modo:

Non rimane che definire la classe Director:

che ha come parametro un oggetto di tipo Builder .

Builder Pattern può essere richiamato nel modo seguente:

 

 

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.