domingo, 24 de outubro de 2010

JavaBean - Wata hell??

Se você já está no mundo da programação Java, mesmo que a pouco tempo, já deve ter ouvido falar em JavaBean ou seu apelido mais carinhoso e utilizado na prática "Bean", aqui mesmo, no projeto JSF falei várias vezes sobre beans, inserir códigos, inserir gets, insetir sets, etç, etç, mas não cheguei a me aprofundar neste assunto. Pois bem, agora é a hora!
Para ser mais exato e direto ao ponto, informarei logo alguns exemplo.
Digamos que você esteja trabalhando com JSF, com certeza existem métodos para pegar/setar valores em váriáveis.
Agora digamos que você foi trabalhar com Struts, e este por sua vez tem seu próprio padrão de nomenclatura para pegar/setar valores nas benditas variáveis.
Depois de um tempo, você teve que prestar suporte em um site que utiliza o componente da empresa XYZ-KY, porém quem desenvolveu este componente não conhecia os JavaBeans, e colocou nomes estranhos nos métodos que pegam/setam atributos em váriáveis, por exemplo o método "meuPai()" estava setando valores na variável"minha_mae", e o método "minhaTia()" estava recolhendo as informações desta mesma variável. Ou seja, será praticamente impossível prestar manutenção para este componente.
Entendeu mais ou menos onde quero chegar?
A moral da história aqui, seriam os nomes dos métodos/classes/variáveis/etç/etç, e é basicamente isso que JavaBeansignifica, esta especificação foi criada visando ajudar os desenvolvedores a criar seu métodos de forma legível e compreensível por qualquer sistema ou programador, independente da sua origem (país).
Mas chega de teoria, vamos para a prática... opa não tem prática nessa matéria...
Vamos ao que interessa!
Padrões JavaBeans
Regras de Nomeação

Lembra das primeiras aulas de Java? Classe Pessoa tem características e métodos? É exatamente assim que devemos trabalhar, fazendo classes para cada tipo de coisa, sem misturar nada!
Em uma classe ContaCorrente, devemos ter APENAS as características (variáveis) de uma conta corrente, e os métodos BÁSICOS da mesma, métodos BÁSICOS são apenas os métodos de acesso às variáveis e ações simples, mas as ações simples não contém a lógica de negócio.
Esta classe tem variáveis, porém as variáveis precisam receber e informar valores, como fazer isso?
Através de métodos!
Um método para setar valores nesta variável e outro método para recolher o valor desta mesma variável.
Alguma sugestão para os nomes? setaVariavel? pegaValor? ERRADO! Devemos utilizar o padrão JavaBean!
:::::
Para recolher valores de variáveis (ou objetos) de qualquer tipo diferente de boolean, ou seja, int, double, String, char, float, etç, etç., deve-se utilizar a palavra get seguida do nome da variável iniciada com letra maíuscula.
Para setar valores de variáveis (ou objetos) de qualquer tipo ou seja, boolean, int, double, String, char, float, etç, etç., deve-se utilizar a palavra set seguida do nome da variável iniciada com letra maíuscula.
Exemplo:
private int meuNumero;
public int getMeuNumero(){
return meuNumero;
}
public void setMeuNumero(int novoNumero){
meuNumero = novoNumero;
}
Mas e para receber valores de variáveis booleanas?
Basta utilizar a palavra is seguida do nome da variável iniciada com letra maíuscula.
Exemplo:
private boolean azul;
public int isAzul(){
return azul;
}
public void setAzul(boolean novoAzul){
azul = novoAzul;
}
Entendeu? Não? Então comente e poste sua dúvida!
Boa sorte!

0 comentários:

Postar um comentário

Alguma dúvida?

 

© 2009Java Erro | by TNB