Padrões de Software
CONT.
1
Mediator;
Memento;
Observer;
State;
Strategy;
Visitor;
Detalhamento dos Padrões Comportamentais
Padrão Mediator
Classificação: Padrão de Objeto
Permite encapsular a forma como os objetos interagem;
2
Detalhamento dos Padrões Comportamentais
Padrão Mediator
Problema:
Distribuição de comportamentos entre diversas classes, com a intenção de melhorar a reusabilidade desses pequenos trechos de código.
Com muitas classes, a complexidade dos relacionamentos aumenta, ou seja, o acoplamento entre objetos fica forte.
Se houver necessidade de alteração de um comportamento, é necessário alterar várias classes.
3
Detalhamento dos Padrões Comportamentais
Padrão Mediator
Problema:
Como permitir que um grupo de objetos se comunique entre si sem que haja acoplamento entre eles?
Como remover o forte acoplamento presente em relacionamentos muitos para muitos?
Como permitir que novos participantes sejam ligados ao grupo facilmente?
4
Detalhamento dos Padrões Comportamentais
Padrão Mediator
Solução:
Um objeto Mediador deve encapsular toda a comunicação entre um grupo de objetos:
Cada objeto participante conhece o mediador, mas ignora a existência dos outros objetos;
O mediador conhece cada um dos objetos participantes: A interface do Mediador é usada pelos colaboradores para iniciar a comunicação e receber notificações:
[Argonavis]
O mediador recebe requisições dos remetentes;
O mediador repassa as requisições aos destinatários;
Toda a política de comunicação é determinada pelo mediador (geralmente através de uma implementação concreta do mediador).
5
Detalhamento dos Padrões Comportamentais
Padrão Mediator
Solução:
Introduzir um Mediator;
Os objetos podem se comunicar sem se conhecer;
O Mediator centraliza o comportamento;
6
[Argonavis]
Detalhamento dos Padrões Comportamentais
Padrão Mediator
Estrutura:
7
[Argonavis]