Factory method

design pattern per l'implementazione del concetto di factories nella programmazione ad oggetti

Template:Stub informatica Nella programmazione ad oggetti, il Factory Method è uno dei pattern fondamentali, definiti originariamente dalla gang of four.

Il Factory Method fornisce un'interfaccia per creare un oggetto, ma lascia che le sottoclassi decidano quale oggetto istanziare.

Struttura di un Factory Method

  • Product: definisce l'interfaccia dell'oggetto creato dal factory method.
  • ConcreteProduct: implementa l'interfaccia di Product.
  • Creator: dichiara il factory method che ritorna un oggetto di tipo Product e lo può chiamare per creare un oggetto di tipo Product; il creator può definire un'implementazione del factory method che ritorna un oggetto ConcreteProduct di default.
  • ConcreteCreator: ridefinisce il factory method per tornare un'istanza di un ConcreteProduct

Funzionamento

Il Creator si affida alle sottoclassi per quanto riguarda la definizione del factory method, cosicché esso ritorni un'istanza appropriata del Product.

Il codice tratta solo con l'interfaccia e con nessuna classe concreta.