Use the Mediator pattern when…

  • Objects communicate in well-structured but potentially complex ways.
  • The objects’ identities should be protected even though they communicate.
  • Some object behaviors can be grouped and customized.