•Chain of Responsibility
–Avoid coupling the sender of a request to its receiver
by giving more than one object
a chance to handle the request by chaining objects and passing along the request
•Command
–Encapsulate a request as an object, thereby letting you
parameterize clients
with different requests, queue or log requests, and support undoable operations
•Interpreter
–Given a language, define a representation for its
grammar along with an interpreter
that uses the representation to interpret sentences in the language
•Iterator
–Provide a way to access the elements of an aggregate
object sequentially without
exposing its internal structure
•