Fabriksmönster är ett av de mest använda designmönstren i Java. Denna typ av designmönster kommer under skapande mönster eftersom detta mönster ger ett av de bästa sätten att skapa ett objekt.
I fabriksmönster skapar vi objekt utan att exponera skapelsens logik för klienten och hänvisar till nyskapade objekt med ett gemensamt gränssnitt.
Implementering
Vi ska skapa ett formgränssnitt och konkreta klasser som implementerar formgränssnittet. En fabriksklass ShapeFactory definieras som nästa steg.
FactoryPatternDemo, vår demo-klass kommer att använda ShapeFactory för att få ett Shape-objekt. Det skickar information (CIRCLE / RECTANGLE / SQUARE) till ShapeFactory för att få den typ av objekt det behöver.
Steg 1
Skapa ett gränssnitt.
Shape.java
public interface Shape { void draw();}
Steg 2
Skapa konkreta klasser som implementerar samma gränssnitt.
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."); }}
Steg 3
Skapa en fabrik för att generera objekt av betongklass baserat på given information.
ShapeFactory.java
Steg 4
Använd fabriken för att få objekt från betongklassen genom att skicka information som typ.
FactoryPatternDemo.java
Steg 5
Verifiera utdata.
Inside Circle::draw() method.Inside Rectangle::draw() method.Inside Square::draw() method.