Le Médiateur est un patron de conception comportemental qui diminue le couplage entre les composants d’un programme, en les faisant communiquer indirectement, via un objet médiateur spécial.
Le médiateur rend la modification, l’extension et la réutilisation de composants individuels aisées, car ils ne dépendent plus d’une dizaine de classes.
Le poste d’aiguillage d’une gare est un excellent exemple du patron de conception médiateur. Deux trains ne communiquent jamais ensemble pour connaître la disponibilité d’une plateforme. Le stationManager agit comme un médiateur : il n’autorise qu’un seul train à accéder à la plateforme et place les autres dans une file d’attente. Un train qui part va envoyer une notification au poste, ce qui permet au prochain train dans la file d’accéder à la plateforme.