Patterns Flashcards
Template Method Pattern
typ: Behavioral
brytut det som är gemensamt och sätt i en abstrakt klass. låt det som inte är gemensamt representeras av en abtrakt metod
subklassning, varje variation specificeras av en subklass
Bridge Pattern
typ: Structural
använder sig av komposition
när ett objekt är sammansatt av olika komponenter vilka kan variera oberoende av objektet själv så bör vi representera dessa med ett separat interface och låta konkreta implementationer av komponenterna implementera detta
Strategy Pattern
typ: Behavioral
vi definierar ett fristående interface som representerar det som kan variera mellan olika strategier. Vi kan sen definiera olika konkreta beteenden som fristående klasser som implementerar detta interface
State Pattern
typ: Behavioral
definera det som skiljer mellan olika states som objekt av olika klasser, bör bara finnas ett objekt som representerar varje specifikt tillstånd
Factory Method Pattern
typ: Creational
syftet är att dölja interna implementationer (vilka konstruktorer och klasser som används)
Låter en klass vara ansvarig för att skapa instanser av andra klasser, detta separerar skapandet av objekt från dess användning
Facade Pattern
typ: Structural
syftet är att öka abstraktionen för en subkomponent genom att gömma intern komplexitet bakom en fasad som ger ett förenklat gränssnitt
man skapar en fasadklass/interface som fungerar som en enkel gränssnittsnivå för att interagera med underliggande subsystem
Module Pattern
syftar till att skapa sammanhängande enheter på högre nivå än klasser
variabler och funktioner kan vara privata oh skyddade från global skala (encapsulation)
möjliggör att strukturera och separera kod i minder, återanvändbara och självständig enhet (moduler)
Adapter Pattern
typ: Structural
syftet är att möjliggöra samarbete mellan två eller flera gränssnitt som tidigare inte fungerat tillsammans pga inkompatibilitet
- ge adaptern ett interface som är kompatibel med en av objekten
- mha detta interface kan redan existerande objekt kalla på adapterns metoder
- adaptern skickar vidare requesten till det andra objektet i ett format som detta objekt förstår
ett interface som fungerar som en mellanhand mellan olika inkompatibla komponenter
Composite Pattern
typ: Structural
gör det möjligt att använda grupper av objekt på samma sätt som ett enskilt objekt
Iterator Pattern
typ: Behavioral
syftet är att dölja intern representation från externa klienter
mönstret definierar ett gränssnitt för att traversera elementen i en samling vilket gör det möjligt att iterera över samlingen utan att bero på dess interna struktur
Observer Pattern
typ: behavioral
syftet är att är ett objekt ändrar tillstånd så meddelas och uppdateras alla beroende objekt automatiskt
MVC Pattern
separerar datamodellen från användargränssnittet
inom användargränssnittet skiljer vi på den del som visar upp delar av modellen för användaren och den del som tar input av användaren
Decorative Pattern
Genom att dela upp ett komplext objekt i flera oberoende aspekter, som kan sättas ihop ”lager på lager” med samma gränssnitt, kan vi hantera delar av en entitets tillstånd, ansvar och beteende separerat. (SOC)
Med Decorator Pattern representeras en entitet (dvs en sak/”ett objekt” ur domänen vi modellerar) dynamiskt genom en stapel (stack) av objekt, där grundobjektet ligger i botten