Fabriksmønster er et af de mest anvendte designmønstre i Java. Denne type designmønster kommer under skabelsesmønster, da dette mønster giver en af de bedste måder at oprette et objekt på.
I fabriksmønster opretter vi objekt uden at udsætte oprettelseslogikken for klienten og henviser til nyoprettet objekt ved hjælp af en fælles grænseflade.
Implementering
Vi opretter en formgrænseflade og konkrete klasser, der implementerer formgrænsefladen. En fabriksklasse ShapeFactory defineres som et næste trin.
FactoryPatternDemo, vores demo-klasse bruger ShapeFactory til at få et Shape-objekt. Det videregiver information (CIRCLE / RECTANGLE / SQUARE) til ShapeFactory for at få den type objekt, den har brug for.
Trin 1
Opret en grænseflade.
Shape.java
public interface Shape { void draw();}
Trin 2
Opret konkrete klasser, der implementerer den samme grænseflade.
Rectangle.java
public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); }}
Firkant .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."); }}
Trin 3
Opret en fabrik til at generere objekt af betonklasse baseret på givne oplysninger.
ShapeFactory.java
Trin 4
Brug fabrikken til at få objekt af betonklassen ved at videregive en information som f.eks. type.
FactoryPatternDemo.java
Trin 5
Bekræft output.
Inside Circle::draw() method.Inside Rectangle::draw() method.Inside Square::draw() method.