Está en la página 1de 16

PADRES DE PROJETOS

PADRO MEDIATOR
PADRO MEDIATOR

Definio:
Mediator promove o acoplamento, mantendo objetos de se referir
um ao outro de forma explcita, e que lhe permite variar sua
interao de forma independente. Este padro considerado
um padro de comportamento, devido maneira como ele pode
alterar o comportamento de execuo do programa.
DIAGRAMA DE CLASSES UML
PROBLEMA

Como permitir que um grupo de objetos se


comunique entre si sem que haja acoplamento
entre eles?
SOLUO

Introduzir um mediador: objetos podem se comunicar sem se


conhecer.

Um objeto Mediador deve encapsular toda a comunicao entre um


grupo de objetos

Cada objeto participante conhece o mediador, mas ignora a existncia


dos outros objetos;
O mediador conhece cada um dos objetos participantes
VANTAGENS

Desacoplamento entre os diversos participantes da rede de


comunicao (participantes no se conhecem);

Eliminao de relacionamentos muitos para muitos (so todos


substitudos por relacionamentos um para muitos);

A poltica de comunicaes est centralizada no mediador e pode ser


alterada sem mexer nos colaboradores
EXEMPLO DE IMPLEMENTAO EM C#

Vamos criar 5 classes em nosso projeto da seguinte forma:


Participante: representa a classe abstrata Colleague. Mantm uma
referncia ao seu objeto Mediator e se comunica com o Mediator
sempre que necessrio, de outra forma se comunica com um
participante;
Membro: representa a classe ConcreteColleague e herda de
Participante;
NaoMembro: representa a classe ConcreteColleague e herda de
Participante;
AbstractChatSala: representa a classe Mediator. Define uma
interface para comunicao com os objetos Participante;
ChatSala: representa a classe concreta ConcreteMediator. Conhece
as classes Participante, mantm uma referncia aos objetos
Participante e implementa a comunicao e transferncia de
mensagens entre os objetos da classes Participante.
PADRO BUILDER
Definio:
O padro do construtor um objeto de criao de software padro de
design . So passos abstratos de construo de objetos de modo que
diferentes implementaes dessas etapas podem construir representaes
diferentes de objetos.
A inteno do padro de projeto Builder separar a construo de um objeto
complexo da sua representao. Ao faz-lo, o mesmo processo de construo
possa criar diferentes representaes.
DIAGRAMA DE CLASSES UML
PROBLEMA

Ao codificar orientado a objetos comum representarmos


entidades do sistema como estruturas de objetos aninhados ou
utilizar objetos no padro Bean com vrias propriedades. A
construo de objetos deste tipo pode ser complexa e obrigar a
escrever muito cdigo burocrtico devido estrutura interna do
objeto estar encapsulada.
Construir um objeto complexo uma tarefa chata, propensa a
erros e pouco controlvel.
SOLUO

A soluo definir um outro objeto que ser responsvel pela criao


correta do objeto que queremos construir. Para que no haja confuso
com o conceito de construtor, passarei a referir responsabilidade do
objeto que implementa o padro Builder como montar.
O objeto Builder responsvel por montar um outro objeto. Este outro
objeto chamado, genericamente, de produto.
O objeto Builder conta com vrios mtodos na sua interface de forma a
poder ser informado das caractersticas que o produto ter e um
mtodo que realmente ir montar o produto e entreg-lo.
Opcionalmente a montagem pode ser explicitada em um outro mtodo
de forma a deixar mais claro quando acontece a montagem.
VANTAGENS
EXEMPLO DE IMPLEMENTAO EM C#
GRUPO

Marcio Fabiano

Ailton Sousa

También podría gustarte