Tehdasmalli on yksi Java: n käytetyimmistä suunnittelumalleista. Tämän tyyppinen suunnittelumalli kuuluu luovaan kuvioon, koska tämä malli on yksi parhaista tavoista luoda objekti.
Tehdasmallissa luomme objektin paljastamatta luontologiikkaa asiakkaalle ja viittaamme uusiin luotuihin objekti käyttäen yhteistä käyttöliittymää.
Toteutus
Luomme Shape-käyttöliittymän ja konkreettiset luokat, jotka toteuttavat Shape-käyttöliittymän. Seuraavaksi määritetään tehdasluokka ShapeFactory.
FactoryPatternDemo, demoluokkamme käyttää ShapeFactorya saadakseen Shape-objektin. Se välittää tietoja (CIRCLE / RECTANGLE / SQUARE) ShapeFactorylle saadakseen tarvitsemansa objektityypin.
Vaihe 1
Luo käyttöliittymä.
Muoto.java
public interface Shape { void draw();}
Vaihe 2
Luo konkreettisia luokkia, jotka toteuttavat saman käyttöliittymän.
Suorakulmio.java
public class Rectangle implements Shape { @Override public void draw() { System.out.println("Inside Rectangle::draw() method."); }}
Neliö .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."); }}
Vaihe 3
Luo tehdas luomaan konkreettisen luokan objekti annettujen tietojen perusteella.
ShapeFactory.java
Vaihe 4
Tehtaalla saat betoniluokan objektin välittämällä tietoja, kuten tyyppi.
FactoryPatternDemo.java
Vaihe 5
Tarkista tulos.
Inside Circle::draw() method.Inside Rectangle::draw() method.Inside Square::draw() method.