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.
.
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.
.
.
.
Outro exemplo que encontrei segue a seguinte descrição.
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();
.
.
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
See ya!
.:N:.
ViniGodoy
Acho que esse é, de longe, um dos padrões mais usados.
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.
nekiess
.:N:.
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!
.:N:.
ViniGodoy
Dos padrões do GoF são: Strategy, Factory Method, Façade, Decorator, Composite e Proxy.
Com relativa frequência o FlyWeight. Poucas vezes usei o Visitor. E acho que nunca usei o Memento.