São todas as regras existentes num sistema de informação, que ditam seu comportamento, suas restrições e validações. ( Wikipédia )
Imaginemos um sistema de cadastro de usuários (com regras bem pobres, mas que já são o bastante pra exemplificar a construção de regras no software) um conjunto válido de regras poderia ser:
1 - Só se pode cadastrar usuário que tem o nome de usuário com mais de 6 letras.
2 - As senhas deverão ter no mínimo 6 letras e no máximo 8 letras.
3 - Só será possível logar no sistema aqueles usuários que informarem a data de nascimento deles.
Condicionais
Numa abordagem condicional poderiamos ter.
if (! facade.cadastrar(usuario)){
showMessage("Erro ao cadastrar");
}
public boolean cadastrar(Usuario usr){
if (usr.nomeUsuario.length()<=6){
return false;
}
if (usr.senha.length()<6>8){
return false;
}
return true;
}
Mais oo
As regras estariam (ou deveriam) no próprio objeto e ele deveria reger todas as chamadas à ele.
public void setNomeUsuario(String user){
if (user.length() <=6) throw new NomeUsuarioInvalidoException("O nome deve conter no mínimo 7 letras.");
}
* Tente sempre que possível codificar suas regras de negócio nos objetos (entidades).
* Não dito que usar if's é errado mas que pode ser um "cheiro" de que algo está errado ou caminhando pra rumo errado.
* O título ficou meio idiota no fim programas são sempre "condições" todavia não uma enxurada de condições encuraladas.
Nenhum comentário:
Postar um comentário