Boa tarde estou criando um sistema de pizzaria um trabalho para faculdade e ate agora tenho 2 classes pois os sistema está no inicio ainda:Clientes e Pedidos o model e controller do cliente estão funcionando perfeitamente pois a classe Clientes não precisa importar nenhuma outra classe, mas quanto a classe Pedidos eu estava fazendo tudo errado e achando que estava certo, por exemplo:
os tamanho do pedido,sabores,bebida,cliente eram uma String dentro da propria classe pedido, o id um int e o valor do pedido um double, estava fazendo errado e achando que estava certo criei o PedidosController sem nenhum problema, era facil pois estava errado. Mas depois de pesquisar e descobrir que esta tudo errado, que deveria criar uma classes para: tamanho,bebida,sabores surgiu minha duvida cruel, estou parado sem saber como progredir sendo que se não resolver da forma certa a funcionalidade e qualidade do sistema vai cair muito na hora de executar, minhas perguntas sobre o que devo fazer sao as seguintes:
1-Devo mesmo criar classes para sabores,tamanho da pizza,bebidas e na classe pedidos criar uma nova instancia da classe cliente? criando os metodos getcliente(), setcliente() e nomedocliente()?
2- Caso tenha mesmo que criar tudo isso que falei, na hora de criar os controllers devo criar um controller para cada classe? ou criar apenas um controller universal que seria o controllerPedidos?
Admito que sou novo no desenvolvimento web java estudo jsp e server faces ha uns 4 meses e nunca entendi muito do conceito MVC então quem ja tiver experiencia na area e puder me ajudar eu agradeço muito pois não tenho a minima ideia do que devo fazer.
Grato desde ja
Cara, se entendi bem o que você disse, depende de alguns fatores por exemplo:
Para que bebida se torna-se uma classe ela teria que possuir diversos atributos para isso como litro, preço, marca e etc. Aí faria sentido ter uma classe.
E em relação aos outros você precisaria sim de uma classe para cada um deles e você teria um n para n entre Cliente e Pedido.
Cada uma dessas letras corresponde a uma camada da aplicação,
Model = Modelagem dos objetos para o Banco de dados
Visual = camada de apresentação ao usuario
Controller = camada que faz o controle entre a Visual e Model
Pergunta 1
Java é uma coleção de objetos que se comunicam atraves de mensagens, indo por essa premissa, vamos pensar em uma sistema de banco
temos a classe Conta que fica responsavel pela conta…então tudo que é referente a Conta tem que estar nela, somente referente a conta não e certo colocar detalhes do cliente na classe conta
temos que criar uma Classe Cliente que fica responsavel pelo cliente e pra ligar esses objetos usamos a COMPOSIÇÃO…
exemplo
public class Conta{
private int codigo;
private double saldo;
private double limite;
private Cliente cliente;
//getters e setters
}
classe Cliente
public class Cliente{
private String nome;
private long rg;
//getters e setters
}
Depende do cenário, mas, creio que o mais comum é um controller para tratar cada view, não necessariamente para cada classe. Você pode ter uam tela para salvar pedidos, onde o usuário escolhe os pratos e as bebidas, e mesmo com duas classes diferentes (nesse exemplo, Prato e Bebida), você teria apenas um controller para tratar a requisição.
fico grato pela resposta de voces, fico feliz em saber que nao é necessario um controller para cada classe e acho legal a ideia de criar controllers somente para as views.
Muito obrigado