Wzorzec fabryczny jest jednym z najczęściej używanych wzorców projektowych w Javie. Ten typ wzorca projektowego wchodzi w zakres wzorca tworzenia, ponieważ ten wzorzec zapewnia jeden z najlepszych sposobów tworzenia obiektu.
We wzorcu fabrycznym tworzymy obiekt bez ujawniania logiki tworzenia klientowi i odwołujemy się do nowo utworzonego za pomocą wspólnego interfejsu.
Implementacja
Mamy zamiar stworzyć interfejs Shape i konkretne klasy implementujące interfejs Shape. Jako kolejny krok zdefiniowana jest klasa fabryczna ShapeFactory.
FactoryPatternDemo, nasza klasa demonstracyjna użyje ShapeFactory do pobrania obiektu Shape. Przekaże informacje (CIRCLE / RECTANGLE / SQUARE) do ShapeFactory, aby uzyskać typ obiektu, którego potrzebuje.
Krok 1
Utwórz interfejs.
Shape.java
public interface Shape { void draw();}
Krok 2
Utwórz konkretne klasy implementujące ten sam interfejs.
Rectangle.java
public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); }}
Kwadrat .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."); }}
Krok 3
Utwórz fabrykę, aby wygenerować obiekt konkretnej klasy na podstawie podanych informacji.
ShapeFactory.java
Krok 4
Użyj Factory, aby pobrać obiekt konkretnej klasy, przekazując informacje, takie jak typ.
FactoryPatternDemo.java
Krok 5
Sprawdź dane wyjściowe.
Inside Circle::draw() method.Inside Rectangle::draw() method.Inside Square::draw() method.