CodeGym/Java blogg/Slumpmässig/Designmönster i Java [Del 1]
John Squirrels
Nivå
San Francisco

Designmönster i Java [Del 1]

Publicerad i gruppen
Detta är en kort artikel om designmönster i Java. Det kommer inte att finnas några mönsterimplementeringar, bara en lista över mönster i Java tillsammans med en kort beskrivning av varje. För de som redan är bekanta med ämnet kommer detta att vara till hjälp som en recension och sammanfattning. Omvänt kommer de som lär sig om mönster för första gången att dra nytta av detta som en första översikt över ämnet innan de gräver djupare. Designmönster i Java [Del 1] - 1 Design mönsterär färdiga att använda lösningar för ofta förekommande programmeringsuppgifter. Det är inte en klass eller ett bibliotek som kan kopplas till ett projekt. Det är något mer. Designmönster som är lämpliga för varje uppgift implementeras i varje specifikt fall. Du bör komma ihåg att när det appliceras på ett felaktigt sätt eller på en olämplig uppgift, kan ett designmönster skapa många problem. Ett korrekt applicerat mönster kan dock hjälpa dig att utföra uppgifter enkelt och enkelt.

Typer av mönster:

  • skapande
  • strukturell
  • beteendemässiga
Skapande mönster tillhandahåller initialiseringsmekanismer, så att du kan skapa objekt på bekväma sätt. Strukturella mönster definierar relationer mellan klasser och objekt, vilket gör att de kan arbeta tillsammans. Beteendemönster används för att förenkla interaktion mellan enheter.

Skapande:

  • Singleton — begränsar skapandet av en klass till en enda instans och ger åtkomst till den enstaka instansen.

  • Factory — används när vi har en superklass med flera underklasser och vi behöver returnera en underklass baserat på input.

  • Abstrakt fabrik — använder en superfabrik för att skapa fabriker, som vi sedan använder för att skapa objekt.

  • Builder — används för att skapa komplexa objekt med enkla objekt. Det skapar gradvis ett stort föremål från ett litet, enkelt föremål.

  • Prototyp — hjälper till att förbättra prestandan när du skapar dubbletter av objekt; istället för att skapa ett nytt objekt, skapar och returnerar det en klon av ett befintligt objekt.

Strukturell:

  • Adapter — en omvandlare mellan två inkompatibla objekt. Vi kan använda adaptermönstret för att kombinera två inkompatibla gränssnitt.

  • Composite — använder en klass för att representera en trädstruktur.

  • Proxy — ger funktionaliteten för en annan klass.

  • Flugvikt — återanvänder objekt istället för att skapa ett stort antal liknande objekt.

  • Fasad — ger ett enkelt gränssnitt för en klient, som använder gränssnittet för att interagera med systemet.

  • Bridge — gör specifika klasser oberoende av klasser som implementerar ett gränssnitt.

  • Dekorator — lägger till ny funktionalitet till ett befintligt objekt utan att binda till dess struktur.

Beteende:

  • Mallmetod — definierar en grundläggande algoritm och låter avkomlingar åsidosätta vissa steg i algoritmen utan att ändra dess övergripande struktur.

  • Mediator — tillhandahåller en mellanhandsklass som hanterar all kommunikation mellan olika klasser.

  • Ansvarskedja — gör det möjligt att undvika strikt beroende mellan avsändaren och mottagaren av en förfrågan. dessutom kan begäran behandlas av flera objekt.

  • Observer — låter ett objekt övervaka och svara på händelser som inträffar i andra objekt.

  • Strategi — tillåter att strategier (algoritmer) ändras under körning.

  • Kommando — ett gränssnitt som deklarerar en metod för att utföra en specifik åtgärd.

  • Tillstånd — tillåter ett objekt att ändra sitt beteende beroende på dess tillstånd.

  • Besökare — används för att förenkla operationer på grupper av relaterade objekt.

  • Tolk — definierar en grammatik för ett enkelt språk i problemdomänen.

  • Iterator — åtkomst sekventiellt till element i en samling utan att känna till dess underliggande form.

  • Memento — används för att lagra ett objekts tillstånd; detta tillstånd kan återställas senare.

När du går igenom CodeGym-kursen kommer du att stöta på ett par mönster på den här listan. Jag rekommenderar följande uppgifter om mönster: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... Klok användning av designmönster leder till mer tillförlitligt kodunderhåll, eftersom utöver det faktum att designmönster är bra lösningar på vanliga problem , kan andra utvecklare känna igen dem, vilket minskar tiden som krävs för att arbeta med viss kod.
Kommentarer
  • Populär
  • Ny
  • Gammal
Du måste vara inloggad för att lämna en kommentar
Den här sidan har inga kommentarer än