Hvad er fabriksmetoden i Java, og hvordan bruges den?

Denne fabriksmetode i Java er et skabelsesmønster, der løser problemet med at oprette produktgenstande uden at specificere de konkrete klasser.

Med enkle ord, a fabriksmønster hjælper med at skabe forekomster til dine klasser. Som navnet betegner fabrik, er det et sted, hvor forskellige produkter oprettes, der ligner hinanden i funktioner, der endnu er opdelt i kategorier. Så lad os grave dybere og forstå konceptet med Factory-metoden i Java i detaljer.



Her er de emner, der vil blive dækket i denne vejledning:

Lad os begynde!

Starter med definitionen af ​​et Java-fabriksmønster.



Hvad er Java-fabriksmønster?

Et hurtigt spørgsmål. Hvordan opretter du en forekomst af en klasse i Java ? For det meste ved at bruge Ny ”Nøgleord. Nå, du har en bedre metode her, og dette er hvad Java-fabriksmønster handler om.

forskellige typer rammer i selen

Fabriksmønster bruges til at oprette forekomster til klasser. Oprettelsen af ​​et objekt udsættes ikke for klienten, og klienten bruger den samme fælles grænseflade til at oprette en ny type objekt. Kerneideen bag fabriksmetoden er at oprette og returnere forekomster, hvor detaljerne i klassemodulet er skjult for brugeren.

I en nøddeskal vil en superklasse angive al standard og generisk adfærd og derefter delegere oprettelsesdetaljerne til de underklasser, der leveres af klienten.



Efter at have forstået den faktiske betydning af fabriksmetodemønsteret i Java, lad os forstå de fordele, det giver.

Fordele ved Java-fabriksmetoden

Jeg opregner et par af de fordele, som Java-fabriksmetoden tilbyder:

  1. Det objekt som du opretter kan bruges uden duplikering af kode.
  2. Hvis du bruger en fabriksmetode i stedet for en konstruktør, kan fabriksmetoden også have forskellige og mere beskrivende navne.
  3. Det fjerner også instantiering af implementeringsklasser fra klientkoden.
  4. Denne metode gør koden mere robust, mindre koblet og let at udvide.
  5. Fabriksmønster igennem giver abstraktion mellem implementering og klientklasser.

Efter at have lært om fordelene, lad os gå videre til vores næste segment i denne artikel.

sorteringsarray c ++

Fabriksmønster implementering

Nu kan implementeringsprocessen se lidt kompleks ud for dig. Følg mine instruktioner for at forstå proceduren trin for trin.

For det første vil jeg oprette en formgrænseflade og også de respektive konkrete klasser, der ville implementere formgrænsefladen. Derefter defineres en fabriksklasse.

Først og fremmest oprettes en grænseflade:

offentlig grænseflade figur {ugyldig tegning ()}

Derefter oprettes de konkrete klasser for at implementere grænsefladen på denne måde:

offentlig klasse Rektangel implementerer figur {@Override offentlig ugyldig tegning () {System.out.println ('Rectangle :: draw () -metode.')}} offentlig klasse Square implementerer figur {@Override offentlig ugyldig tegning () {System.out .println ('Square :: draw () -metode.')}} public class Circle implementerer Shape {@Override public void draw () {System.out.println ('Method: Circle :: draw ().')}}

Efter oprettelse af betonklasser oprettes en fabrik til at generere objekterne.

logistisk regression i pythoneksempel
offentlig klasse ShapeFactory {// brug getShape-metoden til at få objekt af typen form offentlig Shape getShape (String formType) {hvis (formType == null) {returner null} hvis (formType.equalsIgnoreCase ('CIRCLE')) {returner ny cirkel ( )} ellers hvis (shapeType.equalsIgnoreCase ('RECTANGLE')) {return new Rectangle ()} ellers hvis (shapeType.equalsIgnoreCase ('SQUARE')) {return new Square ()} return null}}

Nu oprettes fabrikken til at bruge objekterne fra betonklasser til at videregive de krævede oplysninger:

public class FactoryPatternDemo {public static void main (String [] args) {ShapeFactory shapeFactory = new ShapeFactory () // få et objekt af Circle og kalde dets tegnemetode. Shape shape1 = shapeFactory.getShape ('CIRCLE') // call draw method of Circle shape1.draw () // få et objekt af rektangel og kalde dets draw-metode. Shape shape2 = shapeFactory.getShape ('RECTANGLE') // call draw method of Rectangle shape2.draw () // få et objekt af Square og kalde dets draw-metode. Shape shape3 = shapeFactory.getShape ('SQUARE') // metode til opkaldstegning af firkantet form3.draw ()}}

Produktion:

Cirkel :: tegn () metode.
Rektangel :: tegn () metode.
Kvadrat :: tegn () metode.

Sådan implementerer du fabriksmønstermetoden via Java-kode.

Jeg håber, at ovennævnte indhold viste sig at være nyttigt til at forbedre din viden. Fortsæt med at læse, fortsæt med at udforske!

Tjek også ud af Edureka, et pålideligt online læringsfirma med et netværk på mere end 250.000 tilfredse elever spredt over hele kloden. Edurekas Java J2EE- og SOA-uddannelses- og certificeringskursus er designet til studerende og fagfolk, der ønsker at være Java-udvikler. Kurset er designet til at give dig et forspring i Java-programmering og træne dig til både kerne- og avancerede Java-koncepter sammen med forskellige ligesom dvale og forår.

Har du et spørgsmål til os? Nævn dem i kommentarfeltet på denne 'Fabriksmetode i Java' -blog, så vi vender tilbage til dig hurtigst muligt.