Nahradí priame väzby medzi objektmi jedným prostredníkom.
class DialogMediator { constructor(prepinac, pole, tlacidlo) { this.prepinac = prepinac; this.pole = pole; this.tlacidlo = tlacidlo; } // Pravidlá dialógu sú tu, na jednom mieste. zmeniloSa(kto) { if (kto === this.prepinac) { this.pole.odomkni(this.prepinac.zapnuty); this.tlacidlo.povol(this.prepinac.zapnuty); } }} class Prepinac { constructor(mediator) { this.mediator = mediator; this.zapnuty = false; } prepni() { this.zapnuty = !this.zapnuty; this.mediator.zmeniloSa(this); }} // Widget pozná prostredníka a nikoho iného.const dialog = new DialogMediator(prepinac, pole, tlacidlo);prepinac.prepni();