title: Mediator pattern
text: # Mediator pattern
  
  In ingegneria del software il mediator pattern è un design pattern utilizzato in informatica nella programmazione orientata agli oggetti che incapsula le modalità con cui oggetti diversi interagiscono fra loro.
  
  Si tratta di un pattern comportamentale, ossia operante nel contesto delle interazioni tra oggetti, che ha l'intento di disaccoppiare entità del sistema che devono comunicare fra loro. Il pattern infatti fa in modo che queste entità non si referenzino reciprocamente, agendo da "mediatore" fra le parti.
  
  Il beneficio principale è il permettere di modificare agilmente le politiche di interazione, poiché le entità coinvolte devono fare riferimento al loro interno solamente al mediatore.
  
  Il pattern è stato formalizzato originariamente dalla Gang of Four nel libro design patterns.
  
  ## Struttura
  
  * Mediator: funge da intermediario fra i vari colleagues, oggetti dei quali mantiene una lista interna. Riceve gli eventi da essi e modifica lo stato del sistema di conseguenza.
  * Colleague: invia notifiche al mediator quando il suo stato cambia.
  