Co je Factory Method v Javě a jak ji používat?

Tato metoda Factory v Javě je kreační návrhový vzor, ​​který řeší problém vytváření objektů produktu bez zadání konkrétních tříd.

Jednoduše řečeno, a tovární vzor pomáhá při vytváření instancí pro vaše třídy. Jak název označuje Factory, je to místo, kde se vytvářejí různé produkty, které mají podobné funkce, ale jsou rozděleny do kategorií. Pojďme se tedy ponořit hlouběji a podrobně pochopit koncept Factory metody v Javě.

Tady jsou témata, kterým se tento kurz bude věnovat:





Pojďme začít!

Začínáme s definicí továrního vzoru Java.



Co je tovární vzor Java?

Rychlá otázka. Jak vytvoříte instanci a třída v Javě ? Většinou pomocí „ Nový ”Klíčové slovo. Máte zde lepší metodu a právě o tom je tovární vzor Java.

hashmap a hashtable v java

Tovární vzor se používá k vytváření instancí pro třídy. Vytvoření objektu není vystaveno klientovi a klient používá stejné společné rozhraní k vytvoření nového typu objektu. Základní myšlenka za tovární metoda je vytvoření a vrácení instancí, kde jsou podrobnosti modulu třídy skryty před uživatelem.

Stručně řečeno, nadtřída určí všechna standardní a obecná chování a poté deleguje podrobnosti o vytvoření na podtřídy, které poskytuje klient.



Po pochopení skutečného významu vzoru tovární metody v Javě pochopíme výhody, které nabízí.

Výhody metody Java Factory

Vyjmenovávám několik výhod, které metoda Java Factory nabízí:

  1. The objekt které vytvoříte, lze použít bez duplikace kódu.
  2. Pokud místo konstruktoru použijete tovární metodu, může mít tovární metoda také různé a popisnější názvy.
  3. Také odstraní instanci implementačních tříd z kódu klienta.
  4. Díky této metodě je kód robustnější, méně vázaný a snadno se rozšiřuje.
  5. Tovární vzor přes poskytuje abstrakce mezi implementací a třídami klientů.

Po seznámení s výhodami pojďme k dalšímu segmentu tohoto článku.

Implementace továrního vzoru

Proces implementace vám teď může připadat trochu složitější. Postupujte podle mých pokynů, abyste postup pochopili krok za krokem.

Nejprve vytvořím rozhraní tvaru a také příslušné konkrétní třídy, které by rozhraní tvaru implementovaly. Poté je definována tovární třída.

nastavit java classpath windows 10

Nejprve se vytvoří rozhraní:

veřejné rozhraní Tvar {void draw ()}

Potom jsou vytvořeny konkrétní třídy pro implementaci rozhraní tímto způsobem:

public class Rectangle implements Shape {@Override public void draw () {System.out.println ('Rectangle :: draw () method.')}} public class Square implements Shape {@Override public void draw () {System.out .println ('Metoda Square :: draw ().')}} veřejná třída Circle implementuje Shape {@Override public void draw () {System.out.println ('Metoda Circle :: draw ().')}}

Po vytvoření konkrétních tříd se vytvoří továrna na generování objektů.

public class ShapeFactory {// použijte metodu getShape k získání objektu typu shape public Shape getShape (String shapeType) {if (shapeType == null) {return null} if (shapeType.equalsIgnoreCase ('CIRCLE')) {return new Circle ( )} else if (shapeType.equalsIgnoreCase ('RECTANGLE')) {return new Rectangle ()} else if (shapeType.equalsIgnoreCase ('SQUARE')) {return new Square ()} return null}}

Nyní je vytvořena továrna, která používá objekty konkrétních tříd k předávání požadovaných informací:

veřejná třída FactoryPatternDemo {public static void main (String [] args) {ShapeFactory shapeFactory = new ShapeFactory () // získá objekt Circle a zavolá jeho metodu draw. Shape shape1 = shapeFactory.getShape ('CIRCLE') // metoda volání draw Circle shape1.draw () // získá objekt Rectangle a zavolá jeho metodu draw. Shape shape2 = shapeFactory.getShape ('RECTANGLE') // metoda kreslení volání Rectangle shape2.draw () // získá objekt Square a zavolá jeho metodu draw. Shape shape3 = shapeFactory.getShape ('SQUARE') // volání metody kreslení čtvercového tvaru3.draw ()}}

Výstup:

Metoda Circle :: draw ().
Metoda Rectangle :: draw ().
Metoda Square :: draw ().

Takto implementujete metodu továrního vzoru prostřednictvím kódu Java.

Doufám, že výše uvedený obsah se osvědčil při vylepšování vašeho znalost. Pokračujte ve čtení, neustále prozkoumávejte!

přetížení vs přepsání c ++

Podívejte se také Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Školicí a certifikační kurz Edureka Java J2EE a SOA je určen pro studenty a profesionály, kteří chtějí být vývojářem Java. Kurz je navržen tak, aby vám poskytl náskok v programování Java a naučil vás základní i pokročilé koncepty Java spolu s různými jako Hibernate & Spring.

Máte na nás dotaz? Uveďte je prosím v sekci komentářů tohoto blogu „Factory Method in Java“ a my se vám ozveme co nejdříve.