Novo em Java(Dúvida Padrão MVC)

3 respostas
I

Fala galera…tudo bem?
Sou desenvolvedor Delphi e a algum tempo me inseressei pelo Java e começei a estudar.
Estou desenvolvendo uma aplicação Desktop e tenho uma classe Usuario.
Gostaria de saber como criar essa classe seguindo o padrão MVC. Eu fiz o Seguinte: criei 3 classes
1 - UsuarioTela - Tela
2 - Usuario - Contém as validações e regras de negócio
3 - RepositorioUsuario - Acesso e manipulação dos dados no BD.

Muito bem gostaria de saber c estou correto no meu modelo :
1 seria a Visão?
2 seria o Controle?
3 seria o Modelo?

Por favor me ajuda ae!!!

Agradeço!!!

3 Respostas

peczenyj

http://www.fragmental.com.br/wiki/index.php?title=MVC_e_Camadas

victor.godinho

É isso ai kara! Certinho.

Só fica de olha pra não passar nenhuma referência de UsuarioTela para RepositorioUsuario, e não deixar nenhum import nas classes que não sejam relativas a o que elas fazem. exemplo:

Não "deixe que a classe UsuarioTela sabia" que existe a classe java.sql.Connection, por exemplo.

A única coisa (mas faz primeiro esses seus testes assim, entende como funciona e depois), faça uma classe só com as regras de negócio, exemplo de uma "linha de raciocionio":

A classe UsuarioTela:

public class UsuarioTela {

    public void excluirUsuario() {
		try {
			int codigo  = Integer.parseInt(JOptionPane.showInputDialog("Informe o codigo do usuario"));

                       UsuarioBusiness b = new UsuarioBusiness();
                       b.excluir(codigo);
		} catch(NumberFormatException e) {
			JOptionPane.showMessageDialog(null, "Informe um numero!!!");
		} catch(Exception e) {
			JOptionPane.showMessageDialog(null, e.getMessage());
		}
    }

}

O que ela fez??? Pedio o codigo do usuário, viu se é um numero ou não, chamou a classe de negocio.

E a classe de negocio:

public class UsuarioBusiness {
    public void excluir(int codigo) throws Exception {
         if (codigo > 0 ) {
              RepositorioUsuario r = new RepositorioUsuario();
              e.excluir(codigo);
         } else {
             throw new Exception("Informe um codigo válido");
         }
    }
}

Sakou?? Mas deixa essa pra depois.

(o exemplo ficou bemmm pobre, mas deu pra sacar como vai funcionar depois sua camada de regras de negocio, neh?!)

Falows

I

Entendi seu exemplo…muito obrigado mesmo…vlew!!!

Criado 8 de agosto de 2008
Ultima resposta 8 de ago. de 2008
Respostas 3
Participantes 3