logo

Designmönster i Java | Handledning för Java-designmönster

Designmönster i Java hjälper utvecklare att skapa mer underhållbar, flexibel och begriplig kod. De kapslar in expertis och erfarenhet hos erfarna programvaruarkitekter och utvecklare, vilket gör det lättare för nyare programmerare att följa etablerade bästa praxis.

Vad är designmönster?

Ett designmönster är en generisk repeterbar lösning på ett ofta förekommande problem inom mjukvarudesign som används inom mjukvaruutveckling. Det är inte en komplett design som kan skrivas i kod direkt. Det är en beskrivning eller modell för problemlösning som kan tillämpas i en mängd olika sammanhang.



Handledning för Java-designmönster

Typer av designmönster i Java

Java designmönster är indelade i tre kategorier –

  • skapande,
  • strukturella och
  • beteendedesignmönster.

1. Kreativa designmönster i Java

Kreativa designmönster är en delmängd av designmönster inom mjukvaruutveckling. De behandlar processen för att skapa objekt och försöker göra den mer flexibel och effektiv. Det gör systemet oberoende och hur dess objekt skapas, sammansätts och representeras.



Typer av kreativa designmönster i Java:

1.1 Fabriksmetod

Factory Method är ett kreativt designmönster som ger ett gränssnitt för att skapa objekt i superklass, men underklasser är ansvariga för att skapa instansen av klassen.

1.2 Abstrakt fabriksmetod

Abstract Factory Method är ett kreativt designmönster, det ger ett gränssnitt för att skapa familjer av relaterade eller beroende objekt utan att specificera deras konkreta klasser.

1.3 Byggarmetod

Builder Method är ett kreativt designmönster, det ger ett gränssnitt för att konstruera ett objekt och har sedan konkreta byggmästarklasser som implementerar detta gränssnitt för att skapa specifika objekt på ett stegvis sätt.



1.4 Prototypmetod

Prototype Method är ett kreativt designmönster, det ger att skapa nya objekt med samma struktur och initiala tillstånd som ett befintligt objekt utan att explicit specificera deras klass eller konstruktionsdetaljer.

1.5 Singleton metod

Singleton Method är ett kreativt designmönster, det ger en klass har bara en instans, och den instansen ger en global åtkomstpunkt till den.

2. Strukturella designmönster i Java

Strukturella designmönster är en delmängd av designmönster inom mjukvaruutveckling som fokuserar på sammansättningen av klasser eller objekt för att bilda större, mer komplexa strukturer. De hjälper till att organisera och hantera relationer mellan objekt för att uppnå större flexibilitet, återanvändbarhet och underhållbarhet i ett mjukvarusystem.

Typer av strukturella designmönster i Java:

2.1 Adaptermetod

Adapter Method är ett strukturellt designmönster, det låter dig få två inkompatibla gränssnitt att fungera tillsammans genom att skapa en bro mellan dem.

tostring-metoden

2.2 Bridge metod

Bridge Method är ett strukturellt designmönster, det ger till design separera ett objekts abstraktion från dess implementering så att de två kan variera oberoende av varandra.

23 Kompositmetod

Composite Method är ett strukturellt designmönster, det används för att komponera objekt till trädstrukturer för att representera en del av hela hierarkier. Detta mönster behandlar både enskilda objekt och sammansättningar av objekt, det tillåter klienter att arbeta med komplexa strukturer av objekt som om de vore enskilda objekt.

2.4 Dekorationsmetod

Decorator Method är ett strukturellt designmönster, i t tillåter att lägga till beteende till enskilda objekt, antingen statiskt eller dynamiskt, utan att påverka beteendet hos andra objekt från samma klass.

2.5 Fasadmetod

Fasadmetoden är ett strukturellt designmönster, det ger ett förenklat gränssnitt på högre nivå till en uppsättning gränssnitt i ett delsystem, vilket gör det lättare för klienter att interagera med det delsystemet.

2.6 Proxymetod

Proxy-metoden är ett strukturellt designmönster, det tillhandahåller att skapa ett substitut för ett objekt, som kan fungera som en mellanhand eller kontrollera tillgången till det verkliga objektet.

2.7 Flugviktsmetod

Flugviktsmetoden är ett strukturellt designmönster, det används när vi behöver skapa många objekt i en klass. Eftersom varje objekt förbrukar minnesutrymme som kan vara avgörande för enheter med lågt minne, kan flugviktsdesignmönster tillämpas för att minska belastningen på minnet genom att dela objekt.

3. Beteendedesignmönster i Java

Beteendedesignmönster är en delmängd av designmönster inom mjukvaruutveckling som handlar om kommunikation och interaktion mellan objekt och klasser. De fokuserar på hur objekt och klasser samarbetar och kommunicerar för att utföra uppgifter och ansvar.

Typer av beteendedesignmönster i Java:

3.1 Kommandometod

Kommandometoden är ett beteendedesignmönster, den främjar lös koppling mellan avsändaren (klienten) och mottagaren (objektet som utför operationen) och ger ett sätt att stödja operationer som inte går att göra.

3.2 Iteratormetod

Iteratormetoden är ett beteendedesignmönster, i t tillhandahåller ett sätt att komma åt element i ett aggregerat objekt (en samling) sekventiellt utan att exponera den underliggande representationen av den samlingen.

urval sortera i java

3.3 Medlarmetod

Medlarmetoden är ett beteendedesignmönster, i t främjar lös koppling mellan objekt genom att centralisera deras kommunikation genom ett förmedlarobjekt. Istället för att objekt direkt kommunicerar med varandra, kommunicerar de genom mediatorn, som kapslar in interaktions- och koordinationslogiken.

3.4 Memento metod

Momento-metoden är ett beteendedesignmönster, det ger för att spara och återställa det tidigare tillståndet för ett objekt utan att avslöja detaljerna i dess implementering.

3.5 Observatörsmetod

Observer Method är ett Behavioral Design Pattern, den definierar ett ett-till-många-beroende mellan objekt, så att när ett objekt (subjektet) ändrar tillstånd, meddelas alla dess anhöriga (observatörer) och uppdateras automatiskt.

3.6 State Method

State Method är ett beteendedesignmönster, det tillåter ett objekt att ändra sitt beteende när dess interna tillstånd ändras.

3.7 Strategi Metod

Strategimetoden är ett beteendedesignmönster, den definierar en familj av algoritmer, kapslar in var och en och gör dem utbytbara och den tillåter en klient att välja en lämplig algoritm från en familj av algoritmer vid körning.

3.8 Mallmetod

Mallmetod är ett beteendedesignmönster, den definierar skelettet för en algoritm i en metod men låter underklasser ändra vissa steg i den algoritmen utan att ändra dess struktur.

3.9 Besöksmetod

Besöksmetod är ett beteendedesignmönster, det används när du har en uppsättning strukturerade, hierarkiska objekt och du vill utföra olika operationer på dessa objekt utan att ändra deras klasser.

3.10 Null Object Method

Null Object Method är ett beteendedesignmönster, den används att hantera frånvaron av ett giltigt objekt genom att tillhandahålla ett objekt som inte gör något eller ger standardbeteende.

Andra referenser:

  • Top 30 Java Design Patterns Intervjufråga
  • 10 bästa Java Design Pattern Books
  • Designmönster: En måstefärdighet att ha för programvaruutvecklare 2019
  • Designmönster: Förstå vikten av exempel från verkliga livet
  • Designmönster: Designa ett bokningssystem för biobiljetter som Bookmyshow
  • Designmönster: Hur designar man en parkeringsplats med hjälp av objektorienterade principer?