CodeGym /Java blog /Tilfældig /Design mønstre i Java [Del 1]
John Squirrels
Niveau
San Francisco

Design mønstre i Java [Del 1]

Udgivet i gruppen
Dette er en kort artikel om designmønstre i Java. Der vil ikke være nogen mønsterimplementeringer, kun en liste over mønstre i Java sammen med en kort beskrivelse af hver. For dem, der allerede er bekendt med emnet, vil dette være nyttigt som en gennemgang og opsummering. Omvendt vil de, der lærer om mønstre for første gang, drage fordel af dette som et indledende overblik over emnet, før de graver dybere. Designmønstre i Java [Del 1] - 1 Design mønstreer klar til brug løsninger til hyppigt forekommende programmeringsopgaver. Det er ikke en klasse eller et bibliotek, der kan forbindes med et projekt. Det er noget mere. Designmønstre, der passer til hver opgave, implementeres i hvert enkelt tilfælde. Du skal huske, at når det påføres forkert eller til en uegnet opgave, kan et designmønster skabe mange problemer. Et korrekt anvendt mønster kan dog hjælpe dig med at udføre opgaver nemt og enkelt.

Typer af mønstre:

  • skabende
  • strukturel
  • adfærdsmæssige
Kreationsmønstre giver initialiseringsmekanismer, så du kan skabe objekter på praktiske måder. Strukturelle mønstre definerer relationer mellem klasser og objekter, så de kan arbejde sammen. Adfærdsmønstre bruges til at forenkle interaktion mellem enheder.

Kreativ:

  • Singleton — begrænser oprettelsen af ​​en klasse til en enkelt instans og giver adgang til den enkelte instans.

  • Factory — bruges, når vi har en superklasse med flere underklasser, og vi skal returnere en underklasse baseret på input.

  • Abstrakt fabrik — bruger en superfabrik til at skabe fabrikker, som vi derefter bruger til at skabe objekter.

  • Builder - bruges til at skabe komplekse objekter ved hjælp af simple objekter. Den skaber gradvist en stor genstand ud fra en lille, enkel genstand.

  • Prototype — hjælper med at forbedre ydeevnen ved oprettelse af duplikerede objekter; i stedet for at oprette et nyt objekt, opretter og returnerer det en klon af et eksisterende objekt.

Strukturel:

  • Adapter — en konverter mellem to inkompatible objekter. Vi kan bruge adaptermønsteret til at kombinere to inkompatible grænseflader.

  • Composite — bruger én klasse til at repræsentere en træstruktur.

  • Proxy — giver funktionaliteten af ​​en anden klasse.

  • Flyweight — genbruger objekter i stedet for at skabe et stort antal lignende objekter.

  • Facade — giver en enkel grænseflade til en klient, som bruger grænsefladen til at interagere med systemet.

  • Bridge — gør specifikke klasser uafhængige af klasser, der implementerer en grænseflade.

  • Decorator — tilføjer ny funktionalitet til et eksisterende objekt uden at binde sig til dets struktur.

Adfærdsmæssig:

  • Skabelonmetode — definerer en grundlæggende algoritme og tillader efterkommere at tilsidesætte nogle trin i algoritmen uden at ændre dens overordnede struktur.

  • Mediator — giver en mellemklasse, der håndterer al kommunikation mellem forskellige klasser.

  • Ansvarskæde — gør det muligt at undgå streng afhængighed mellem afsender og modtager af en anmodning; desuden kan anmodningen behandles af flere objekter.

  • Observer — giver et objekt mulighed for at overvåge og reagere på hændelser, der forekommer i andre objekter.

  • Strategi — gør det muligt at ændre strategier (algoritmer) under kørsel.

  • Kommando — en grænseflade, der erklærer en metode til at udføre en specifik handling.

  • Tilstand — tillader et objekt at ændre sin adfærd afhængigt af dets tilstand.

  • Besøgende — bruges til at forenkle operationer på grupper af relaterede objekter.

  • Tolk — definerer en grammatik for et simpelt sprog i problemdomænet.

  • Iterator — får sekventielt adgang til elementer i en samling uden at kende dens underliggende form.

  • Memento — bruges til at gemme et objekts tilstand; denne tilstand kan gendannes senere.

Når du gennemgår CodeGym-kurset, vil du støde på et par mønstre på denne liste. Jeg anbefaler følgende opgaver om mønstre: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... Klog brug af designmønstre fører til mere pålidelig kodevedligeholdelse, fordi udover det faktum at designmønstre er gode løsninger på almindelige problemer , kan andre udviklere genkende dem, hvilket reducerer den tid, det tager at arbejde med bestemt kode.
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION