•Strategy
–Define a family of algorithms, encapsulate each one, and
make them interchangeable. Strategy lets the algorithm vary
independently from clients that
use it
•Template Method
–Define the skeleton of an algorithm in an operation,
deferring some steps to
subclasses. Template Method lets
subclasses redefine certain steps of an
algorithm without changing the algorithm’s structure
•Visitor
–Represent an operation to be performed on the elements
of an object structure. Visitor lets you define a new operation
without changing the classes of
the elements on which it operates
•