[Resolvido]Ajuda sobre padrao MVC

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

na fé mano

sou novo em java

se a classe não presta serviço, não tem algo a resolver… é atributo

agora, se a classe não tem atributo, aí seria um serviço, tem que ver se tem a necessidade no domínio

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.

senão

a gente acaba criando

getInutil()

getVazio()

getSemFinalidade()

getAvo().getPai().getFilho().getNeto()… e por aí vai

MVC(Model Visual Controller)

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 }

desse jeito a classe fica mais coesa…

Pergunta 2

não precisa criar um controller pra cada classe

Só completando:

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.

não programo Java para Web

em Swing não vejo viabilidade de implementar MVC para um simples CRUD

mesmo sendo swing…a arquitetura mvc é uma boa escolha…

falou

o código fica bonitinho, organizado e tal

mas, dá muito trabalho a toa

geralmente, manutençao em CRUD somente se dá com adição de novos campos de texto

o único objetivo é persistir um novo objeto no banco, e mais nada

kkkkkkkkkkkkkkkk…

Tem que analisar direitinho…essa parte em desenvolvimento de um software é muito importante,

modelar o problema de maneira errada pode gerar software cheio de bug…

mas pensando em um sistema pequeno mvc é somente para deixar mais organizado mesmo…

falow

o sistema tem que ser beeeeem grande para compensar

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

sim…só vai ver o beneficio do mvc em sistemas grandes…