Factory pattern è uno dei design pattern più usati in Java. Questo tipo di modello di progettazione rientra nel modello di creazione poiché questo modello fornisce uno dei modi migliori per creare un oggetto.
Nel modello di fabbrica, creiamo oggetti senza esporre la logica di creazione al cliente e ci riferiamo a nuovi oggetti creati oggetto utilizzando uninterfaccia comune.
Implementazione
Creeremo uninterfaccia Shape e classi concrete che implementano linterfaccia Shape. Una classe factory ShapeFactory viene definita come passaggio successivo.
FactoryPatternDemo, la nostra classe demo utilizzerà ShapeFactory per ottenere un oggetto Shape. Passerà le informazioni (CIRCLE / RECTANGLE / SQUARE) a ShapeFactory per ottenere il tipo di oggetto di cui ha bisogno.
Passaggio 1
Crea uninterfaccia.
Shape.java
public interface Shape { void draw();}
Passaggio 2
Crea classi concrete che implementino la stessa interfaccia.
Rectangle.java
public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); }}
Square .java
public class Square implements Shape { @Override public void draw() { System.out.println("Inside Square::draw() method."); }}
Circle.java
public class Circle implements Shape { @Override public void draw() { System.out.println("Inside Circle::draw() method."); }}
Passaggio 3
Crea una Factory per generare un oggetto della classe concreta in base alle informazioni fornite.
ShapeFactory.java
Passaggio 4
Usa Factory per ottenere loggetto della classe concreta passando uninformazione come type.
FactoryPatternDemo.java
Passaggio 5
Verifica loutput. / p>
Inside Circle::draw() method.Inside Rectangle::draw() method.Inside Square::draw() method.