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

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?