Pesquisar

quarta-feira, 21 de maio de 2008

Mais do mesmo

Depois de ler + um ótimo post .
Darei mais alguns exemplos que já vivenciei:
lógica para somar pontos a clientes...

cliente.setPontos(cliente.getPontos()+1);
(e isso se espalhava por todo código...)
Se alguma data do ano (especial, comemorativa, aniversário da loja...) quisesem oferecer uma promoção de a cada compra o cliente aumentaria os pontos em 10 seria MUITO chato...

Mais simples
cliente.adicionarPontos();
Se houvesse alguma mudança bastaria fazê-la no método.

Ou ainda quantas vezes vi algo semelhante...

if (funcionario.getSalario() > 1000.0d){
funcionario.setAjuste(0.03d);
//além do fato do pessímo uso dos double, float para $
}


Um comportamento que deveria ser interno ao "objeto" funcionário sendo tratado em outro local, talvez melhor seria algo como... (o próprio método do funcionário conter essa "lógica")

public double getAjust(){
if (getSalario()>1000.d){
setAjuste(0.03d);
}
}



ps: acredito que tudo visa um final menos complexo.(final = manutenção) Centralizar os comportamentos nos objetos...

Nenhum comentário: