23 Softwaretechnik - Verhaltensmuster Flashcards
Was ist die grundsätzliche Motivation hinter Verhaltensmustern?
Verhaltensmuster erleichtern die Kommunikation zwischen Objekten bei gleichzeitig geringer Kopplung.
Was ist das Template Method Pattern?
Das Template Method Pattern wird verwendet, wenn ein Algorithmus entwickelt wird, bei dem der Ablauf vordefiniert ist, aber Teile des Algorithmus unterschiedlich implementiert sein dürfen. Es wird durch eine abstrakte Klasse mit einer finalen Methode, die den Algorithmus beschreibt, umgesetzt.
Was ist das Observer Pattern?
Das Observer Pattern ermöglicht es, dass ein Objekt (das Subjekt) seinen Zustand überwacht und andere Objekte (Observer) bei einer Zustandsänderung informiert. Die Liste der Observer ist dynamisch, und das Subjekt informiert alle registrierten Observer über Änderungen.
Welche Vorteile und Nachteile bietet das Observer Pattern?
- Vorteile: Minimale Kopplung zwischen Objekten.
- Nachteile: Performance-Einbußen bei vielen Observern und undefiniertes Verhalten, wenn ein Observer das beobachtete Objekt ändert.
Was ist das Command Pattern?
Das Command Pattern lagert Befehle in eigene Klassen aus und verwaltet sie als Command-Objekte. Dadurch wird ein Aufrufer (Invoker) von einem Empfänger (Receiver) entkoppelt, und der Aufrufer kann Commands direkt aufrufen, ohne den konkreten Empfänger zu kennen.
Welche Vorteile und Nachteile bietet das Command Pattern?
- Vorteile: Lose Kopplung zwischen Aufrufer und Empfänger.
- Nachteile: Es wird eine große Menge an neuen Klassen benötigt.
Was ist das Chain of Responsibility Pattern?
Beim Chain of Responsibility Pattern gibt es eine Kette von Objekten, die spezifische Anfragen verarbeiten können. Eine Anfrage wird an das erste Objekt geleitet, das die Anfrage entweder bearbeitet oder an das nächste Objekt in der Kette weitergibt.
Welche Vorteile und Nachteile bietet das Chain of Responsibility Pattern?
- Vorteile: Geringe Kopplung, da der Klient den Bearbeiter der Anfrage nicht kennen muss. Bearbeiter können hinzugefügt oder verändert werden, ohne das Klient anzupassen.
- Nachteile: Es gibt keine Garantie, dass eine Anfrage bearbeitet wird.
Was ist das Strategy Pattern?
Das Strategy Pattern delegiert die Ausführung eines Algorithmus an ein separates Objekt. Dadurch kann je nach Kontext ein anderer Algorithmus eingesetzt werden, was Flexibilität bei der Auswahl der Algorithmen bietet.
Welche Vorteile und Nachteile bietet das Strategy Pattern?
- Vorteile: Hohe Wiederverwendbarkeit von Algorithmen, leichter Austausch von Algorithmen, und es ist eine Alternative zur Unterklassenbildung.
- Nachteil: Es entsteht zusätzlicher Kommunikationsaufwand.