Define an object that encapsulates how a set of objects interact. Promotes loose coupling by keeping objects from referring to each other explicitly and lets you vary their interaction independently
Visitor
Momento
Mediator
Bridge