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
- Vad är designmönster?
- Typer av designmönster i Java
- 1. Kreativa designmönster i Java
- 2. Strukturella designmönster i Java
- 3. Behavioural Design Patterns i Java
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?