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
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.
|
Mere læsning: |
|---|
GO TO FULL VERSION