Entwurfsmuster Flashcards

Alle Entwurfsmuster

1
Q

Singleton

A
  • Erzeugungsmuster
  • Gültigkeit: objektbasiert

Wird eingesetzt, wenn nur eine Instanz einer Klasse verfügbar sein soll auf der globale Operationen ausgeführt werden.

Konstruktor ist private. Zugriff über +getInstance()

z.B.: Logger

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Abstrakte Fabrik

A
  • Erzeugungsmuster
  • Gültigkeit: objektbasiert

Wird eingesetzt, um eine Schnittstelle zum konsistenten Erzeugen verwandter oder voneinander abhängiger Produkte anzubieten, ohne die ihrer gemeinsamen Erzeugung zugrundeliegende Fabrik benennen zu müssen.

z.B.: GUI Fabrik

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Adapter

A
  • Strukturmuster
  • Gültigkeit: objekt- / klassenbasiert

Übersetzung einer vorgegebenen Schnittstelle einer Klasse in eine andere Schnittstelle, wie sie von einem Client erwartet wird.

Klassenbasiert:
Adapter1 erbt von Dienst und implementiert Interface
Aufruf: Adapter1.anfrage() -> Adapter1.service()

Objektbasiert:
Adapter2 hat Referenz auf Dienst und implementiert Interface
Aufruf: Adapter2.anfrage() -> dienst.service()

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Brücke

A
  • Strukturmuster
  • Gültigkeit: objektbasiert

Durch Einsatz der Brücke werden Schnittstellen und Implementierungen in zwei getrennte Vererbungshierarchien organisiert.

Möglichkeit Implementierung erst zur Laufzeit auszuwählen bzw. zu variieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Proxy

A
  • Strukturmuster
  • Gültigkeit: objektbasiert

Kontrolliert Zugriff auf ein Objekt mit Hilfe eines vorgelagerten Stellvertreterobjekts.

Erlaubt in Abhängigkeit vom Kontrollergebnis eventuell zusätzliche Diensterbringung seitens des Proxy

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Dekorierer

A
  • Strukturmuster
  • Gültigkeit: objektbasiert

Dynamische Erweiterung der Zuständigkeit eines Dienstes eines Objekts zur Laufzeit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Kompositum

A
  • Strukturmuster
  • Gültigkeit: objektbasiert

Objekte werden zu einer Baumhierarchie zusammengefügt, um eine Teil-Ganzes-Hierarchie zu repräsentieren.

Ermöglicht, dass Clients sowohl einzelne Objekte, als auch Kompositionen von Objekten einheitlich behandeln können.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Schablonenmethode

A
  • Verhaltensmuster
  • Gültigkeit: klassenbasiert

Schablonenhafte Beschreibung eines Algorithmus, die bezüglich einer Reihe von Implementierungsdetails Freiheitsgrade zulässt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Befehl

A
  • Verhaltensmuster
  • Gültigkeit: objektbasiert

Befehle werden in Objekte gekapselt.

Befehle sollen vor ihrer Ausführung erfasst und verwaltet werden.

Befehle potentiellen Aufrufern als Parameter übergeben.
Befehle durch eine Queue verwalten.
Logbuch über ausgeführte Befehle führen, um diese evtl. rückgängig zu machen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Beobachter

A
  • Verhaltensmuster
  • Gültigkeit: objektbasiert

Änderung an einem Objekt sollen auf alle weiteren davon abhängigen Objekte konsistent übertragen werden. Dies soll erfolgen, ohne die betroffenen Objekte in eine Klasse integrieren zu müssen.

z.B.: Tabelle, Kuchendiagramm, Säulendiagramm

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Strategie

A
  • Verhaltensmuster
  • Gültigkeit: objektbasiert

Einige Teile einer Aufgabe können unterschiedlich gelöst werden. Die aktuelle Variante soll zur Laufzeit vom Clients auswählbar sein.

Der nicht variable Teil der Aufgabe soll nur einmal gespeichert werden, um Redundanz zu vermeiden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Zuständigkeitskette

A
  • Verhaltensmuster
  • Gültigkeit: objektbasiert

Der Client kennt zur Laufzeit nicht genau den Bearbeiter der von ihm erwünschten Anfrage.

Zur Bearbeitung spezieller Anfragen kommen unterschiedliche Diensterbringer in Frage.

Die Menge der für einen speziellen Dienst in Frage kommenden Bearbeiter soll dynamisch festlegbar sein.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly