Table of Contents

OO-Basics

OO-Patterns

Strategy

Definiert eine Familie von Algorithmen, kapselt sie einzeln und macht sie austauschbar. Das Stratgegy-Muster ermöglicht es, den Algorithmus unabhängig von den Clients variieren zu lassen, die ihn einsetzen.

Punkt für Punkt:

Observer

Definiert eine Eins-zu-viele-Abhängigkeit zwischen Objekten der Art, dass alle abhängigen Objekte automatisch benachrichtigt und aktualisier werden, wenn sich der Zustand des einen Objekts ändert.

Punkt für Punkt:

Factory

Factory Method

Definiert eine Schnittstelle zur Erstellung eines Objekts, lässt aber die Unterklassen entscheiden, welche Klassen instantiiert werden. Factory Method ermöglicht einer Klasse, die Instantiierung in Unterklassen zu verlagern.

Abstract Factory

Bietet eine Schnittstelle zum Erstellen von Familien verwandter oder zusammenhängender Objekte an, ohne konkrete Klassen anzugeben.

Punkt für Punkt:

Command

Kapselt einen Auftrag als ein Objekt und ermöglicht so, andere Objekte mit verschiedenen Aufträgen zu parametrisieren, Aufträge in Warteschlangen einzureihen oder zu protokollieren oder das Rückgängigmachen von Operationen zu unterstützen.

Punkt für Punkt:

Template Method

Definiert in einer Methode das Gerüst eines Algorithmus und überlässt einige Schritte den Unterklassen. Template Method erlaubt Unterklassen, bestimmte Schritte des Algorithmus neu zu definieren, ohne die Struktur des Algorithmus zu ändern.

Punkt für Punkt:

Iterator

Bietet eine Möglichkeit, auf die Elemente in einem Aggregat-Objekt sequenziell zuzugreifen, ohne die zu Grunde liegende Implementierung zu offenbaren.

Punkt für Punkt:

Composite

Ermöglicht Ihnen, Objekten zu einer Baumstruktur zusammenzusetzen, um Teil/Ganzes-Hierarchien auszudrücken. Das Composite-Muster erlaubt den Clients, individuelle Objekte und Zusammensetzungen von Objekten auf gleiche Weise zu behandeln.

Punkt für Punkt:

Zusammengesetzte Muster

Ein zusammengesetztes Muster kombiniert zwei oder mehrere Muster zur einer Lösung für ein wiederkehrendes oder allgemeines Problem.

Punkt für Punkt: