Designmønstre i Java | Tutorial til Java-designmønstre
Designmønstre i Java hjælper udviklere med at skabe mere vedligeholdelsesvenlig, fleksibel og forståelig kode. De indkapsler ekspertise og erfaring fra erfarne softwarearkitekter og udviklere, hvilket gør det nemmere for nyere programmører at følge etablerede bedste praksis.
Hvad er designmønstre?
Et designmønster er en generisk repeterbar løsning på et ofte forekommende problem i softwaredesign, der bruges i softwareudvikling. Det er ikke et komplet design, der kan skrives i kode med det samme. Det er en beskrivelse eller model til problemløsning, der kan anvendes i en række forskellige sammenhænge.
Tutorial til Java-designmønstre
- Hvad er designmønstre?
- Typer af designmønstre i Java
- 1. Kreative designmønstre i Java
- 2. Strukturelle designmønstre i Java
- 3. Behavioural Design Patterns i Java
Typer af designmønstre i Java
Java-designmønstre er opdelt i tre kategorier –
- skabende,
- strukturelle, og
- adfærdsdesign mønstre.
1. Kreative designmønstre i Java
Kreative designmønstre er en delmængde af designmønstre i softwareudvikling. De beskæftiger sig med processen med at skabe objekter og forsøger at gøre den mere fleksibel og effektiv. Det gør systemet uafhængigt, og hvordan dets objekter skabes, sammensættes og repræsenteres.
Typer af kreative designmønstre i Java:
1.1 Fabriksmetode
Factory Method er et kreativt designmønster, der giver en grænseflade til at skabe objekter i superklasse, men underklasser er ansvarlige for at skabe forekomsten af klassen.
1.2 Abstrakt fabriksmetode
Abstrakt fabriksmetode er et kreativt designmønster, det giver en grænseflade til at skabe familier af relaterede eller afhængige objekter uden at specificere deres konkrete klasser.
1.3 Bygherre metode
Builder Method er et kreativt designmønster, det giver en grænseflade til at konstruere et objekt og har derefter konkrete builder-klasser, der implementerer denne grænseflade til at skabe specifikke objekter på en trinvis måde.
1.4 Prototype metode
Prototype-metoden er et kreativt designmønster, det giver mulighed for at skabe nye objekter med samme struktur og begyndelsestilstand som et eksisterende objekt uden eksplicit at specificere deres klasse eller konstruktionsdetaljer.
1.5 Singleton metode
Singleton Method er et kreativt designmønster, det giver en klasse har kun én instans, og den instans giver et globalt adgangspunkt til den.
2. Strukturelle designmønstre i Java
Strukturelle designmønstre er en delmængde af designmønstre i softwareudvikling, der fokuserer på sammensætningen af klasser eller objekter for at danne større, mere komplekse strukturer. De hjælper med at organisere og administrere relationer mellem objekter for at opnå større fleksibilitet, genbrugelighed og vedligeholdelse i et softwaresystem.
Typer af strukturelle designmønstre i Java:
2.1 Adaptermetode
Adaptermetoden er et strukturelt designmønster, det giver dig mulighed for at få to inkompatible grænseflader til at arbejde sammen ved at skabe en bro mellem dem.
2.2 Bridge metode
Bridge Method er et strukturelt designmønster, det giver til design adskille et objekts abstraktion fra dets implementering, så de to kan variere uafhængigt.
23 Sammensat metode
Composite Method er et strukturelt designmønster, det bruges til at komponere objekter til træstrukturer for at repræsentere del-hele hierarkier. Dette mønster behandler både individuelle objekter og sammensætninger af objekter, det tillader klienter at arbejde med komplekse strukturer af objekter, som om de var individuelle objekter.
2.4 Dekorationsmetode
Decorator Method er et strukturelt designmønster, jeg t giver mulighed for at tilføje adfærd til individuelle objekter, enten statisk eller dynamisk, uden at påvirke adfærden af andre objekter fra samme klasse.
2.5 Facade metode
Facademetoden er et strukturelt designmønster, det giver en forenklet grænseflade på højere niveau til et sæt grænseflader i et undersystem, hvilket gør det lettere for klienter at interagere med det pågældende undersystem.
2.6 Proxy metode
Proxy-metoden er et strukturelt designmønster, det giver at skabe en erstatning for et objekt, som kan fungere som mellemled eller kontrollere adgangen til det virkelige objekt.
2.7 Fluevægt metode
Flyweight Method er et strukturelt designmønster, det bruges, når vi skal lave en masse objekter i en klasse. Da hvert objekt bruger hukommelsesplads, der kan være afgørende for enheder med lav hukommelse, kan flyvevægtdesignmønster anvendes for at reducere belastningen på hukommelsen ved at dele objekter.
3. Behavioural Design Patterns i Java
Adfærdsdesignmønstre er en delmængde af designmønstre i softwareudvikling, der omhandler kommunikationen og interaktionen mellem objekter og klasser. De fokuserer på, hvordan objekter og klasser samarbejder og kommunikerer for at udføre opgaver og ansvar.
Typer af adfærdsdesignmønster i Java:
3.1 Kommandometode
Kommandometoden er et adfærdsdesignmønster, den fremmer løs kobling mellem afsenderen (klienten) og modtageren (objektet, der udfører operationen) og giver en måde at understøtte handlinger, der ikke kan udføres.
3.2 Iterator metode
Iterator-metoden er et adfærdsdesignmønster, jeg t giver mulighed for at få adgang til elementer af et samlet objekt (en samling) sekventielt uden at afsløre den underliggende repræsentation af denne samling.
3.3 Mediator metode
Mediator-metoden er et adfærdsdesignmønster, jeg t fremmer løs kobling mellem objekter ved at centralisere deres kommunikation gennem et mediatorobjekt. I stedet for at objekter kommunikerer direkte med hinanden, kommunikerer de gennem mediatoren, som indkapsler interaktions- og koordinationslogikken.
3.4 Memento metode
Momento-metoden er et adfærdsdesignmønster, den giver mulighed for at gemme og gendanne den tidligere tilstand af et objekt uden at afsløre detaljerne i dets implementering.
3.5 Observatør metode
Observer Method er et Behavioral Design Pattern, den definerer en en-til-mange afhængighed mellem objekter, så når et objekt (subjektet) ændrer tilstand, får alle dets afhængige (observatører) besked og opdateres automatisk.
3.6 Tilstandsmetode
State Method er et adfærdsmæssigt designmønster, det tillader et objekt at ændre sin adfærd, når dets indre tilstand ændrer sig.
3.7 Strategi metode
Strategimetoden er et adfærdsdesignmønster, den definerer en familie af algoritmer, indkapsler hver enkelt og gør dem udskiftelige, og den giver en klient mulighed for at vælge en passende algoritme fra en familie af algoritmer under kørsel.
3.8 Skabelonmetode
Skabelonmetode er et adfærdsdesignmønster, den definerer skelettet af en algoritme i en metode, men lader underklasser ændre nogle trin i den algoritme uden at ændre dens struktur.
3.9 Besøgsmetode
Besøgsmetode er et adfærdsdesignmønster, det bruges, når du har et sæt strukturerede, hierarkiske objekter, og du ønsker at udføre forskellige operationer på disse objekter uden at ændre deres klasser.
3.10 Null Object metode
Null Object Method er et adfærdsdesignmønster, det bruges at håndtere fraværet af et gyldigt objekt ved at levere et objekt, der ikke gør noget eller giver standardadfærd.
Andre referencer:
- Top 30 Java-designmønstre interviewspørgsmål
- 10 Bedste Java Design Pattern Books
- Designmønstre: En must-færdighed at have for softwareudviklere i 2019
- Designmønstre: Forstå betydningen af eksempler fra det virkelige liv
- Designmønstre: Design et biografbilletbookingssystem som Bookmyshow
- Designmønstre: Hvordan designer man en parkeringsplads ved hjælp af objektorienterede principper?