Patterns.dev Flashcards
Vad är poängen med mediator/middleware pattern?
Förenkla many-to-many kommunikation genom att låta all kommunikation gå genom en central punkt.
Som ett kontrolltorn på en flygplats som sköter kommunikationen mellan alla flygplan.
3 fördelar med command pattern?
Koppla loss metoder från objekt, separera ansvar.
Genom att spara kommandohistorik kan man enkelt implementera undo/redo funktionalitet.
Blir mer modulärt dvs lätt att testa, felsöka, återanvända
Nackdelar med command pattern?
Få use cases. Skapar onödig boilerplatekod.
Vad är en factory funktion?
En funktion som returnerar ett nytt objekt utan att använda nyckelordet new
När är factory pattern användbart?
När man skapar relativt komplexa och konfigurerbara objekt.
Fördelar med factory pattern?
Användbart för att skapa många mindre objekt som delar egenskaper.
Kan enkelt returnera objekt beroende på specifik kontext eller användarkonfiguration.
Nackdelar med factory pattern?
I många fall är det mer minneseffektivt att skapa instanser av en klass istället för nya objekt.
Vad är flyweight pattern?
Ett sätt att se till att det inte skapas onödiga duplicerade objekt. Genom något unikt ID kollar man om objektet redan finns och hanterar det på lämpligt sätt.
Vad är mixin pattern?
Att lägga till funktionalitet i ett objekt utan att använda inheritance.
Hur använder man mixin pattern i JS?
Genom att skapa ett separat objekt med önskad funktionalitet som sedan injiceras i målobjektets prototyp genom:
Object.assign( TargetObject.prototype, MixinObject );
Är det en bra idé generellt att använda mixin?
Nej.
Vad är module pattern?
Att bryta upp kodbasen i fristående moduler som kan importeras och användas på flera ställen.
2 Fördelar med module pattern?
- Minskar risk för namnkollisioner.
( Kan ytterligare undvikas medas
)
Variabler, funktioner och värden kan hållas privata inom modulen. - Kan också användas dynamiskt, enbart importera de moduler som behövs för tillfället
Vad är observer pattern?
Objekt (observers) kan ’prenumerera’ på ett annat objekt (observable). När en händelse inträffar meddelar observable alla observers.
Vilka fyra delar brukar ett observable objekt innehålla?
- Lista med observers att meddela om eventet
- Metod för att lägga till observers
- Metod för att ta bort observers
- Metod för att meddela observers när eventet inträffar