Chain of Responsibility Avoids coupling a sender to receiver by giving more than object a chance to handle the request ✘

Command Bundles a command and arguments to call later ✘

Mediator Connects objects and acts as a proxy ✘

Memento Generate an opaque token that can be used to go back to a previous state ✘

Observer Provide a callback for notification of events/changes to data ✔

Registry Keep track of all subclasses of a given class ✘

State Encapsulates varying behavior for the same object based on its internal state ✘

Strategy Enables an algorithm's behavior to be selected at runtime ✔

Template Defines a skeleton class which defers some methods to subclasses ✘