Factory method
El Factory Method és un patró de disseny del Software. Consisteix en utilitzar una classe constructora (semblant al Abstract Factory) abstracta amb uns quants mètodes definits i altes abstractes: el dedicat a la construcció dels objectes d'un subtipus d'un tipus determinat. És una simplificació del Abstract Factory, on la classe abstracta té mètodes concrets que fans servir alguns dels abstractes; segons usem una o altre filla d'aquesta classe abstracta, tindrem un comportament o un altre.
Estructura [modifica]
Les classes principals d'aquest patró són el creador i el producte. El creador necessita crear instancies de productes, però el tipus concret de producte no ha de ser forçat en les subclasses del creador, perquè aleshores les possibles subclasses del creador haurien de poder especificar subclasses del producte per utilitzar.
La solució per fer això és utilitzar un mètode abstracte (el mètode de la fàbrica) que es defineix en el creador. Aquest mètode abstracte es defineix per a què torni el producte. Las subclasses del creador poden sobreescriure aquest mètode per tornar les subclasses apropiades del producte...
Exemples de codi (Java) [modifica]
// Definim la classe abstracte creadora public abstract class Creator{ // Operació que realitza public Product anOperation() { Product aProduct = factoryMethod(); return aProduct; } // Definim el mètode abstracte protected abstract Product factoryMethod(); }
Ara definim el creador concret.
public class ConcreteCreator extends Creator{ protected Product factoryMethod() { return new ConcreteProduct(); } }
I definim el producte i la seva implementació concreta.
public interface Product{ public void operacio(); } public class ConcreteProduct implements Product{ public void operacio(){ System.out.println("Una operació d'aquest producte"); } }
i un exemple d'us :
public static void main(String args[]){ Creator aCreator; aCreator = new ConcreteCreator(); Product producte = aCreator.anOperation(); producte.operacio(); }
Enllaços externs [modifica]
- Patrons de Fabricació: Fábricas de Objetos - Leon Welicki (castellà)
- Exemples en Java en Diagrama UML (castellà)
- Patró Factory Method explicat en vídeo, article de Lucas Ontivero onexplica, mediante un vídeo de 9 minuts 53 segons, el patró Factory Method (nivell bàsic) (castellà)
|
|||||||||||
