Design Pattern Factory

896 visite

Design patterns

Design Pattern Factory

Il design pattern factory è molto usato nell’ambito OOP (Programmazione Orientata a Oggetti) quando si ha la necessità a run-time di instanziare un oggetto tra un set di classi.

Per questo come una fabbrica (Factory) produciamo l’oggetto che ci serve.

Struttura

Factory è quindi composto dalle seguenti classi e interfacce che prendono parte alla creazione e instanziazione dell’oggetto:

  • IProduct: Interfaccia che verrà implementata da tutti gli oggetti creati dal ConcreteProduct. Spesso è rappresentato anche con una classe astratta.
  • ConcreteProduct: Implementa l’intefaccia definita da IProduct. Il ConcreteProduct verrà creato da ConcreteFactory.
  • IFactory:  E’ l’interfaccia implementata dal ConcreteFactory. Definisce un metodo (metodo factory) che si occupa di creare un ConcreteProduct. A volte questa interfaccia è una classe astratta con un metodo factory che restituisce un prodotto di default.
  • ConcreteFactory: Implementa l’override del metodo factory dell’interfaccia/classe astratta IFactory per restituire ConcreteProduct specifici.

Questo è il diagramma delle classi UML che identifica il pattern Factory:

factory

Un esempio molto compatto usando PHP è il seguente:

Altri esempi di utilizzo del pattern e in altri linguaggi li puoi trovare cliccando questo link.

Iscriviti alla newsletter e rimani sempre aggiornato

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *