Adapter - Adapter (klasowy oraz obiektowy), umożliwia współpracę dwóch klas o niekompatybilnych interfejsach,
Decorator - Dekorator (obiektowy), pozwala na dynamicznie dodawanie nowych funkcjonalności do istniejących klas podczas działania programu,
Facade - Fasada (obiektowy), pojedyncza klasa, która służy do uproszczenia i uporządkowania możliwości systemu, służy do ułatwienia korzystania z systemu,
Composite - Kompozyt (obiektowy), polega na składaniu obiektów w taki sposób, aby klient widział je jako pojedynczy obiekt,
Bridge - Most (obiektowy), służy do oddzielenia interfejsu od jego implementacji,
Flyweight - Pyłek (obiektowy), służy do zmniejszenia wykorzystania pamięci poprzez obsługę wielu małych obiektów równocześnie, przy pomocy współdzielenia wspólnych cech,
Proxy - Pełnomocnik (obiektowy), polega na tworzeniu obiektu, który zastępuje inny obiekt.