Mediator es un patrón de diseño de comportamiento que reduce el acoplamiento entre los componentes de un programa haciendo que se comuniquen indirectamente a través de un objeto mediador especial.
El patrón Mediator facilita la modificación, extensión y reutilización de componentes individuales porque ya no son dependientes de todas las demás clases.
Un ejemplo excelente del patrón Mediator es un sistema de tráfico de una estación de tren. Dos trenes nunca se comunican entre sí para conocer la disponibilidad de una plataforma. El stationManager actúa como mediador y pone la plataforma a disponibilidad únicamente de uno de los trenes entrantes mientras que pone al resto en cola. Un tren saliente informa a la estación, que permite entrar al siguiente tren en cola.