Adapter
Adapter passt die Schnittstelle einer Klasse an eine von Clients erwartete Schnittstelle an. Das Adaptermuster lässt Klassen zusammenarbeiten, die andernfalls dazu nicht in der Lage wären.
Bridge
Bridge entkoppelt eine Abstraktion von ihrer Implementierung, sodass beide unabhängig voneinander verändert werden können. änderungen verschiedener Aspekte eines Systems werden voneinander unabhängig.
Decorator
Decorator fügt einer Komponente dynamisch neue Funktionalität hinzu, ohne die Komponente selbst zu ändern.
Fassade
Fassade vereinfacht den Zugriff auf ein komplexes Subsystem oder auf eine Menge zusammengehörender Objekte.
Proxy
Proxy stellt einen Platzhalter für eine andere Komponente (Objekt) dar und kontrolliert den Zugang zum echten Objekt.
Model View Controller
Die Verantwortlichkeiten beim Aufbau von Benutzerschnittstellen werden auf drei verschiedene Rollen verteilt, um die unterschiedliche Präsentation derselben Information zu erleichtern.
Flyweight
Um in einem System eine sehr große Anzahl feingranularer Objekte zu verwalten, wird die gemeinsame Nutzung von Instanzen (instance sharing) eingeführt.
Composite
Composite ermöglicht die Gleichbehandlung von Einzelelementen und Elementgruppierungen in einer verschachtelten Struktur (z.B. Baum), sodass aus Sicht des Clients keine explizite Unterscheidung notwendig ist.