Top 22 Java Design Patterns Interview Spørgsmål & Svar

Indholdsfortegnelse

Download PDF

1) Forklar hvad der er Java Design Pattern?

Et designmønster er en sproguafhængig strategi til løsning af fælles objektorienteret designproblem. Den beskriver, hvordan man strukturerer klasser for at imødekomme et givet krav.

2) Forklar hvad der er skabelsesmønstre og fabriksmønster?

Oprettelsesdesignmønster : Dette mønster bruges til at definere og beskrive, hvordan objekter oprettes ved klasse-instantieringstid.

Fabriksmønster : Fabriksmønsteret bruges til at oprette et objekt uden at eksponere oprettelseslogikken for klienten og henvise til et nyoprettet objekt ved hjælp af en fælles grænseflade.

3) Hvilket designmønster bruges til at få en måde at få adgang til elementerne i et samlingsobjekt på sekventiel måde?

Iterator mønster bruges til at få en måde at få adgang til elementerne i et samlingsobjekt på sekventiel måde.

4) Når der bruges mønster til servicelokalisering?

Når vi vil finde forskellige tjenester ved hjælp af JNDI, bruger vi servicelokatormønster.

5) Nævn på hvor mange måder kan du oprette singleton mønster?

For at oprette enkelte objekter er der to berømte måder

  • Lazy loading
  • Ivrig indlæsning

6) Nævn hvilket mønster der bruges, når vi har brug for at afkoble en abstraktion fra implementeringen?

Når vi ønsker at afkoble en abstraktion fra dens implementering for at to kan variere uafhængigt, bruger vi bromønster.

7) Nævn hvilket designmønster, der vil være nyttigt for at tilføje ny funktionalitet til et eksisterende objekt?

Et dekoratormønster giver brugeren mulighed for at tilføje ny funktionalitet til et eksisterende objekt uden at ændre dets struktur.

8) Forklar, hvordan kan du oprette en Singleton-klasse i Java?

Det er totrins proces,

  • Gør først konstruktøren privat, så den nye operatør ikke kan bruges til at instantiere klassen
  • Returner et objekt af objektet, hvis ikke null, ellers skal du oprette objektet og returnere det samme via en metode.

9) Er det muligt at skrive trådsikker singleton i Java?

For at skrive trådsikker singleton i Java er der flere måder, for eksempel ved hjælp af statisk singleton-instans initialiseret under klasseindlæsning ved at skrive singleton ved hjælp af dobbelt afkrydset låsning. Java Enum er den enkleste måde at oprette trådsikker singleton på.

10) Nævn, hvordan man skal beskrive et designmønster?

For at beskrive et designmønster skal følgende ting tages hånd om

  • Mønsternavn og klassifikation
  • Problem og løsning
  • Konsekvenser: Variations- og sprogafhængige alternativer bør også tages op
  • Know Uses: Identificer anvendelserne i de virkelige systemer og dens effektivitet

11) Nævne, hvorfor adgang til den ikke-statiske variabel ikke er tilladt fra den statiske metode i Java?

Du kan ikke få adgang til ikke-statiske data fra statisk sammenhæng, fordi ikke-statiske variabler er knyttet til en bestemt forekomst af et objekt, mens statisk ikke er knyttet til nogen forekomst.

12) Nævn hvilket mønster, der er nyttigt, når man skal videregive data med flere attributter i et skud fra klient til server?

Transfer Object Pattern er nyttigt, når man skal videregive data med flere attributter i et skud fra klient til serveren.

13) Navngiv nogle af enhederne i DAO-mønster?

Nogle af enhederne i DAO inkluderer,

  • Betonklasse for dataadgangsobjekt
  • Interface til dataadgangsobjekt
  • Modelobjekt eller værdiobjekt

14) Nævn, hvornår kan du bruge skæringsmønsteret?

Opfangnings mønster bruges, når du skal foretage en forbehandling eller efterbehandling med anmodning eller svar fra applikationen.

15) Nævn, hvornår man skal bruge et fabriksmønster?

Fabriksmønster kan bruges,

  • Når en klasse ikke ved, hvilken klasse af objekter der skal oprettes
  • Når klasse angiver dens underklasser for at specificere, hvilke objekter der skal oprettes
  • På programmeringssprog kan du bruge fabriksmønster, hvor du skal oprette et objekt fra en af ​​underklasser afhængigt af de givne data

16) Forklar i singleton-mønster, om det er bedre at gøre hele getinstance () -metoden synkroniseret eller bare kritisk afsnit er nok? Hvilken foretrækkes?

Synkronisering af hele getinstance () -metoden er dyr og er kun nødvendig under initialiseringen på singleton-forekomst for at stoppe oprettelsen af ​​en anden forekomst af Singleton. Derfor er det bedre at kun synkronisere kritisk sektion og ikke hele metoden.

17) Nævn på hvor mange måder kan du skrive singleton-klasse i Java?

Man kan skrive singleton-klasse i Java på fire måder

  • Singleton med offentlig statisk slutfelt initialiseret under klasseindlæsning
  • Singleton genereret af statisk indlejret klasse, også kaldet singleton holder mønster
  • Singleton ved at synkronisere get instance () -metoden
  • Fra Java 5 on-afdelinger ved hjælp af Enums

18) Forklar, hvordan kan du forhindre, at du opretter en anden forekomst af singleton ved hjælp af clone () -metoden?

Den foretrukne måde at forhindre oprettelse af en anden forekomst af en singleton er ved ikke at implementere Cloneable-interface, og hvis du bare kaster en undtagelse fra clone () -metoden "ikke at oprette en klon af singleton-klasse".

19) Nævn, hvad er forskellen mellem “kast” og “kast”?

Nøgleordet "Kast" bruges til eksplicit at kaste som en undtagelse, mens "Kast" bruges til at håndtere afkrydsede undtagelser for at genintimere kompilatoren om, at undtagelser håndteres. Kastene skal bruges i metodens definition, og også mens de påberåber den metode, der rejser kontrollerede undtagelser.

20) Nævn hvilke klasser i JDK der bruger singleton mønster?

Java.lang.Runtime-klasser bruger singleton-mønster i JDK.

21) Nævn hvad er begrænsningen ved at bruge singleton mønster?

Singleton-mønsteret sikrer, at en klasse kun har en forekomst og giver et globalt adgangspunkt til den. Men på samme tid bliver dette dens begrænsning, da de fleste klasser i et program skal oprette flere forekomster.

22) Nævn, hvad er forskellen mellem VO og JDO?

Forskellen mellem JDO og VO er, at JDO er en vedvarende teknologi, der konkurrerer mod enhedsbønner i virksomhedens applikationsudvikling. Det giver dig mulighed for at oprette POJO (almindelige gamle java-objekter) og fastholde dem i databasen.

Mens VO står for værdiobjekter repræsenterer et abstrakt designmønster, der bruges i forbindelse med enhedsbønner, jdbc og muligvis endda JDO for at overvinde almindeligt fundne isolations- og transaktionsproblemer i virksomhedsapps.

Interessante artikler...