Estou com uma duvida conceitual da melhor forma ou da melhor prática de receber os parametros no controlador .
Exemplo :
Meu objetos de dominio
public class A {
private String atributo1;
private B b;
}
public class B {
private String atributo2;
private String atributo3;
}
Pensando que quero popular apenas 2 atributos de 2 objetos diferentes em cadeia . é mais interessante receber no controlador :
public void metodo(A a) {
......
}
e no form eu utilizo os names a.atributo1 e a.b.atributo3
ou
public void metodo(String atributo1,String atributo3) {
......
}
e no form eu utilizo os names atributo1 e atributo3 e trabalhar de outras formas com o objeto eu mesmo populando o que precisa na camada de negocio ?
Existe uma melhor pratica ? Digo isso porque no primeiro caso quando começo a trabalhar os objetos dentro da camada de negocio e ficar navegando dentro de um objeto que veio do request me incomoda um pouco (brecha pra null pointers … etc) sendo que poderia trabalhar direto o dado sem depender da cadeia de objetos como no segundo exemplo .
// Modelo 1
dao.executaAtividade(a); // Só olhando a implementacao e o jsp daria pra saber qual parametro esta sendo utilizado dentro do metodo
// Modelo 2
dao.executaAtividade(atributo1,atributo2) //Creio ser mais legivel e menos obscuro pra implementacao os dados que ela deve trabalhar
Alguma opinião sobre o assunto ?