Er bien… comprei o livro Use a cabeça - padrões de projeto e estou no inicio e realmente é muito bom, o primeiro projeto explicado é o Strategy… entendi como funciona, até criei uns programinhas meu para exemplo.
.
Agora a dúvida. :idea:
.
Alguem que já trabalha na área poderia me dar um exemplo real? Alguem exemplo que use este padrão que não seja o simples usado no livro… pesquisei na internet e encontrei outros exemplos, mas nenhum que me mostre realmente como eu poderia aplicar na vida real… bem é isso, gostaria apenas de um exemplo pratico real.
.
See ya!
Eu sei que a pergunta foi meio vaga… meio dificil de responder, eu coloquei a questão aqui pq sei que muitos já trabalham com java a séculos e conhecem este padrão, pesquisando ontem encontrei alguns exemplos interessantes e reais do funcionamento deste padrão, mas seria interessante um exemplo de alguem daqui.
.
Não queria um exemplo detalhado, um tutorial… neste exemplo que encontrei um cara usando o padrão Strategy
.
.
Criou esta descrição para a explicação.
.
[quote]Imagine que temos um pequeno sistema que apresenta uma classe abstrata Documento que possui um método chamado imprimir();
Imagine também que temos duas classes :
Legal - que herda da classe Documento e sobrescreve o método imprimir() para imprimir documentos Legais;
Tecnico - que também herda de Documento e sobrescreve o método imprimir() para imprimir documentos técnicos;
Perceba que eu poderia ter muitas outras classes herdando de documento e cada uma sobrescrevendo o método imprimir() para atender um requisito de impressão diferente como : HTML , PDF, TEXTO, RTF , etc.
[/quote]
.
.
.
Outro exemplo que encontrei segue a seguinte descrição.
[quote] magine que uma loja pretende aplicar uma política de descontos no preço dos seus produtos bem agressiva onde cada produto poderá, de acordo com as datas especiais do calendário: dia das mães , dia dos pais , dia das crianças , páscoa, natal , etc…, ter um preço promocional.
Neste cenário teríamos para cada data um tipo de desconto diferente que deverá ser implementado por um algoritmo diferente.
1- Primeiro definimos uma interface chamada IPromocao contendo a definição de um método chamado desconto();[/quote]
.
E explica mais ou menos oq fez.
.
.
.
E explicou mais ou menos como procedeu para a implementação das classes. Mas deixa quieto então… volto a este ponto só para não deixar em branco mesmo. Encontrei esta matéria neste link: http://www.macoratti.net/08/08/net_stgy.htm
Bem é isso
Sempre que tiver um switch, desconfie que ele pode ser refatorado usando o padrão Strategy. O Strategy é a opção natural quando você quer fornecer escolhas para o usuário, e quer que outros programadores estendam as opções de escolhas posteriormente.
Pois é… eu tinha feito um programa para calculadora que usava o Switch para escolher o calculo que a pessoa deseja fazer, estudando este padrão consegui refaze-lo sem a necessidade do uso do Switch, o ponto é aprender a adapta-lo a este tipo de situação apartir de agora…
.
ViniGodoy, sei que trabalha a um bom tempo com Java então me responda uma cousa, dos padrões disponiveis quais os que mais usa com uma frequencia maior? São muitos padrões… agora quais devo realmente focar?
.
See ya!