Playlist do Curso de Padrão de Projeto de Software (Design Patterns)
Um Mediator (mediador em português), em linguagem de programação de computadores, é um dos 23 Padrões de Projeto (Design Pattern) indicados para descritos para aumentar re-uso e diminuir acoplamento
Definição
É um padrão de projeto usado frequentemente quando deseja-se encapsular como os objetos interagem, ou seja, a comunicação entre os objetos é estabelecida através do Mediator. Este padrão é considerado um padrão comportamental, pois o padrão pode alterar o comportamento da aplicação (programa).O Mediator promove o fraco acoplamento ao evitar que objetos se referiram uns aos outros explicitamente.
Participantes
Mediator: responsável por definir a interface para a comunicação entre os objetos Colegas.
MediatorConcreto: responsável por implementar a interface Mediator e consequentemente gerenciar a comunicação entre os objetos Colegas.
ColegaConcreto: Objeto que se comunicará com outros objetos Colegas através do Mediator.
Exemplo base
Uma das inúmeras formas de demonstrar o padrão Mediator é fazendo uma analogia com uma torre de comando do aeroporto. Considere dois pilotos de avião, um está aterrissando e outro está decolando, eles se comunicam de forma direta? A resposta é não. As mensagens são todas controladas pela torre de controle, que possuí a responsabilidade de gerenciar quem decola e quem aterrissa. As restrições de decolagem e aterrissagem ficam por conta da torre de controle.
Observe que neste exemplo têm-se os participantes do padrão. O MediatorConcreto é a torre de controle e como ColegaConcreto os pilotos de avião. É importante ressaltar que a torre de controle não controla o voo por completo.