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:
-
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.
|
Mer läsning: |
|---|
GO TO FULL VERSION