Organizando informação em uma classe

9 respostas
Klawztro

E ai pessoal, blz?
ó negócio é o seguinte, tenho uma classe Produto, e uma usuário,
porém eu preciso listar no jsp, a lista de produtos, porém em cada produto, mostrar dados do usuário que é dono
desse produto, ai eu pergunto:
qual seria a maneira mais certa de fazer isso?

  • Colocar uma instância de usuário dentro de cada produto.
  • Ou colocar dentro da classe produto só os campos que eu quero exibir (como telefone, e-mail, nome) ?

vlw.

9 Respostas

AlexandreGama

Olá Klawztro!

Na verdade trabalhe sempre com objetos e nunca desta forma:

Como um objeto, bem resumidamente, representa o seu domínio, o seu problema a ser resolvido, então
um Produto não poderia ter um email por exemplo.

Quanto à sua dúvida, existem várias formas de se fazer, dependendo de como o seu sistema está estruturado.
Eu sugiriria uma outra classe ainda, como por exemplo a classe CarrinhoCompra.
Em uma compra você tem quem está comprando (seu Usuário, que seria Consumidor) e existem os produtos
realizados na compra (sua classe Produto).

Assim, você poderia manipular a classe CarrinhoCompra para a sua página jsp e você teria os dados
que precisa, já que em uma compra existe Consumidor e Produto.
Lembrando que esta é somente uma das alternativas simples. Com toda certeza é possível melhorar
esta solução.

O que acha?

Até mais!

Klawztro

Vlw Alexandre, por me mandar uma luz,
mas então, quanto a essa classe que você sugeriu, até é uma boa idéia,
mas eu preciso agrupar informação sobre produto e vendedor,
não sobre o comprador.
Seria o caso de deixar uma instância de um usuário dentro do produto?

AlexandreGama

Klawztro,

Então o seu Usuário que você citou primeiro é um Vendedor na verdade?

Até mais!

Klawztro

Yes man

AlexandreGama

Você poderia separar ainda mais isso, mas resumindo seria a mesma idéia:
Uma Compra possui um Produto e um Vendedor, ou seja, sua instância
estaria na classe Compra e não na Produto.
Assim, você manipularia a sua classe Compra normalmente.

Se for pra melhorar um pouquinho, você teria uma classe Compra, com uma data, valor total
um Vendedor e uma lista de Produtos, ou seja, um atributo Itens.
Mesmo assim poderíamos melhorar isso. Este é o classe exemplo bem simples, que é
refatorado a medida que inserimos informações.

O que acha?

Abraços!

Klawztro

hnnnnnnn…
então cara, mas é que o escopo desse projeto é bem mais limitado:
assim, um usuário vê um produto de outro usuário,
e clica em “Me interessei”, não tem carrinho de compras ou coisa desse tipo,
na verdade tem, a tabela de interesses ia funcionar como um carrinho ligando o usuário aos produtos de interesse.
Mas é na hora de listar esses produtos, que eu queria mostrar:
Nome_do_produto.
Valor do produto.
descrição
Nome do vendedor
E-mail do vendedor

Ai nesse caso, eu preciso carregar o vendedor junto com o produto, ou seja, é um objeto usuario dentro do produto, right?

AlexandreGama

Mas por que, em um primeiro momento você não poderia ter:

public class InteresseDoUsuario {
   Usuario usuario;
   List<Interesse> interesses;
   String descricao; 
}

public class Usuario {
   String nome;
   String email;
}

public class Interesse {
   String nome;
   Double valor;
}

InteresseDoUsuario interesseDoUsuario;
String nomeUsuario = InteresseDoUsuario.getUsuario().getNome();

Sorry pelos nomes horríveis, mas pra iniciar a brincadeira não poderia ser algo parecido?

Até mais!

Klawztro

nooooooooooooooooooooooooossa cara, agora sim c salvo minha vida,
pq eu não tinha pensado em uma lista cara.
genial. :shock: :idea: :!:
Tenho que correr com esse projeto, tenho que entrega segunda, e ainda falta fazer a folha de estilos e a parte administrativa, Deus queira que dê tempo. vlw.

AlexandreGama

Legal cara, tomara que dê tempo sim! :wink:
Só lembrando que é possível “arquiteturar” essa solução de outras formas,
mas com o tempo as refatorações vão surgindo naturalmente com a necessidade.

Abraços!

Criado 22 de outubro de 2010
Ultima resposta 22 de out. de 2010
Respostas 9
Participantes 2