Tovární vzor je jedním z nejpoužívanějších návrhových vzorů v Javě. Tento typ návrhového vzoru spadá pod kreační vzor, protože tento vzor poskytuje jeden z nejlepších způsobů vytvoření objektu.
V továrním vzoru vytváříme objekt bez vystavení logiky vytvoření klientovi a odkazujeme na nově vytvořený vzor objekt používající společné rozhraní.
Implementace
Chystáme se vytvořit rozhraní Shape a konkrétní třídy implementující rozhraní Shape. Jako další krok je definována tovární třída ShapeFactory.
FactoryPatternDemo, naše ukázková třída použije ShapeFactory k získání objektu Shape. Předá informace (CIRCLE / RECTANGLE / SQUARE) do ShapeFactory, aby získala požadovaný typ objektu.
Krok 1
Vytvořte rozhraní.
Shape.java
public interface Shape { void draw();}
Krok 2
Vytvořte konkrétní třídy implementující stejné rozhraní.
Obdélník.java
public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); }}
Čtverec .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
Vytvořte továrnu pro generování objektu konkrétní třídy na základě daných informací.
ShapeFactory.java
Krok 4
Použijte Factory k získání objektu konkrétní třídy předáním informací, jako je typ.
FactoryPatternDemo.java
Krok 5
Ověřte výstup.
Inside Circle::draw() method.Inside Rectangle::draw() method.Inside Square::draw() method.