Observer
Notifying dependents of state changes.
Strategy
Encapsulating interchangeable algorithms.
Template Method
Defining algorithm skeleton with customizable steps.
Command
Encapsulating requests as objects.
Iterator
Traversing collections without exposing internals.