[NÃO RESOLVIDO] Sistema DESKTOP Netbeans e MVC - Impossível?

10 respostas
D

Olá pessoal!

Tudo certo??

Bom, é o seguinte pelo que eu estudei e pesquisei sobre MVC, caso eu faça o meu sistema DESKTOP no netbeans eu “violaria” uma das regras pq o meu view (interface) ficaria junto com o controller (no mesmo arquivo).

Esta minha forma de pensar está correta??

Obrigada…

10 Respostas

jonathanprogrammer

Não está correta…

MVC = Model, View, Controll

Models (tabelas) seriam armazenados nesta parte…

Views (JFrames, JPanels, etc) seriam armazenados nessa parte…

Controll (Class de conexão com o banco de dados e tua lógica de negocio como também teus beans de armazenamento no banco de dados) seriam armazenados nessa parte!

Ainda tu poderia utilizar o Padrão DAO onde todas tuas classes com comandos sql ficariam jogadas la dentro! :smiley:

D

Hum…?
É??

Então o que eu aprendi pesquisando e o que foi passado na faculdade está errado??

Vc não confundiu Model com Control??

E não é bem essa a minha dúvida, a minha dúvida é que no Netbeans, eu sou obrigada (não tem como retirar o código) da interface do arquivo e para fazer os eventos dos botões por exemplo o de Adicionar (que acredito eu deveria ser na classe de Controle e que assim chamaria a classe de Negócio…) tbm tem que ser no mesmo arquivo…

Isso é o Netbeans… queria saber se estou pensando de forma correta…

jonathanprogrammer

dina:
Hum…?
É??

Então o que eu aprendi pesquisando e o que foi passado na faculdade está errado??

Vc não confundiu Model com Control??

E não é bem essa a minha dúvida, a minha dúvida é que no Netbeans, eu sou obrigada (não tem como retirar o código) da interface do arquivo e para fazer os eventos dos botões por exemplo o de Adicionar (que acredito eu deveria ser na classe de Controle e que assim chamaria a classe de Negócio…) tbm tem que ser no mesmo arquivo…

Isso é o Netbeans… queria saber se estou pensando de forma correta…

Não… é o seguinte!!

A tua interface (Gráfica) e teu eventos são parte gráfica!!!
São VIEW…

O a tua classe que insere no banco é tua regra de negócio! ou controller
como prefirir!
e isso é o Controll

Model seriam tuas tabelas ou teus beans, mais a maioria dos teus beans são tabelas que tu tem no banco de dados…

Então quando ocorre um evento (Parte View) ele cria um objeto da tua Class (Regra de Negocio) e insere no banco de dados…

Agora tu consegue ver a separação das camadas??! não foi pra ser mto grosso isso!! :smiley:

D

Hum…
Tá… hum… tá… heheheehe

Levando em consideração que eu não quero utilizar o padrão DAO…

Fui pegar minhas anotações sobre a aula, segundo meu professor:

A camada Model envolve lógica de negócio inclusive o acesso aos dados. MVC não cita especificamente o acesso aos dados como uma camada, porque se subentende que estes métodos estariam encapsulados pelo Model. A camada Model interage diretamento com a camada Controller para estabelecer, entre outros, a execução das regras de negócio.

A camada View refere-se à lógica de apresentação, interage diretamente com a Camada Controller e indiretamente com a model em uma forma específica. Esta camada é geralmente destinada para efetuar interface de usuário.

Controller ? interação entre as duas anteriores
Processa e responde a eventos, geralmente ações do usuário, e pode invocar alterações no Model. É na camada Controller que é feita a validação dos dados e também é onde os valores postos pelos usuários são filtrados. Também instancia objetos das classes de negócio, invoca seus métodos na ordem desejada e manipula entradas e saídas para os usuários.

E aí… como disse, não to utilizando DAO…
O q meu professor explicou está errado???

luizrobertofreitas

Olá Dina,

Acho que este link pode esclarecer algumas dúvidas

http://java.sun.com/products/jfc/tsc/articles/architecture/

Inté :wink:

romarcio

jonathanprogrammer:
Não está correta…

MVC = Model, View, Controll

Models (tabelas) seriam armazenados nesta parte…

Views (JFrames, JPanels, etc) seriam armazenados nessa parte…

Controll (Class de conexão com o banco de dados e tua lógica de negocio como também teus beans de armazenamento no banco de dados) seriam armazenados nessa parte!

Ainda tu poderia utilizar o Padrão DAO onde todas tuas classes com comandos sql ficariam jogadas la dentro! :smiley:

Muito boa a explicação sobre MVC, ficou bem claro a função de cada um.

Hellmanss

dina:

E não é bem essa a minha dúvida, a minha dúvida é que no Netbeans, eu sou obrigada (não tem como retirar o código) da interface do arquivo e para fazer os eventos dos botões por exemplo o de Adicionar (que acredito eu deveria ser na classe de Controle e que assim chamaria a classe de Negócio…) tbm tem que ser no mesmo arquivo…

Isso é o Netbeans… queria saber se estou pensando de forma correta…

As ações não precisam ser no mesmo arquivo, e tbm não acho conveniente.
Tenha uma referencia do seu View, e adicione os eventos necessarios.
Normalmente eu uso uma classe intermediaria entre o View e o Controller. Onde eu tenho por padrao metodos para adicionar eventos aos campos da tela, popular Model de tabelas,combos…
Nesse caso o view gerado pelo NetBeans ficaria sempre intacto(Exceto os Getters&Setters dos componentes que voce vai utilizar)

D

Hellmanss:

As ações não precisam ser no mesmo arquivo, e tbm não acho conveniente.
Tenha uma referencia do seu View, e adicione os eventos necessarios.
Normalmente eu uso uma classe intermediaria entre o View e o Controller. Onde eu tenho por padrao metodos para adicionar eventos aos campos da tela, popular Model de tabelas,combos…
Nesse caso o view gerado pelo NetBeans ficaria sempre intacto(Exceto os Getters&Setters dos componentes que voce vai utilizar)

Aiii… vc entendeu a minha dúvida…!

Muito obrigada pela ajuda!
:smiley:

D

luizrobertofreitas:
Olá Dina,

Acho que este link pode esclarecer algumas dúvidas

http://java.sun.com/products/jfc/tsc/articles/architecture/

Inté ;)

Mto obrigada pelo link!
:slight_smile:

jonathanprogrammer

dina:
Hum…
Tá… hum… tá… heheheehe

Levando em consideração que eu não quero utilizar o padrão DAO…

Fui pegar minhas anotações sobre a aula, segundo meu professor:

A camada Model envolve lógica de negócio inclusive o acesso aos dados. MVC não cita especificamente o acesso aos dados como uma camada, porque se subentende que estes métodos estariam encapsulados pelo Model. A camada Model interage diretamento com a camada Controller para estabelecer, entre outros, a execução das regras de negócio.

A camada View refere-se à lógica de apresentação, interage diretamente com a Camada Controller e indiretamente com a model em uma forma específica. Esta camada é geralmente destinada para efetuar interface de usuário.

Controller ? interação entre as duas anteriores
Processa e responde a eventos, geralmente ações do usuário, e pode invocar alterações no Model. É na camada Controller que é feita a validação dos dados e também é onde os valores postos pelos usuários são filtrados. Também instancia objetos das classes de negócio, invoca seus métodos na ordem desejada e manipula entradas e saídas para os usuários.

E aí… como disse, não to utilizando DAO…
O q meu professor explicou está errado???

Teu professor não falou nada de errado!

O que daria pra se entender:

Models = Você trataria problemas de por exemplo:

  • atributo nome no maximo 100 caracteres
  • atributo cidade no maximo 60 caracteres

Onde tu poderia tratar uma parte da tua parte de validações de tamanhos de campos!
ou se o cliente está inserindo uma informação partinente aquela informação que deve receber!

View = Somente onde fica tuas views, onde ela vai criar uma instancia das classes controllers e executar o metodo save digamos!

Uma view pode muito bem criar uma instancia de um Model e criar uma instancia de um Controller que salva no bd as informações chamando por exemplo:

meuController.save(meuModel);

mais a parte de view é pra interface do usuário! o que ele irá ver!

Controller = Tua regra de negócio, tua camada de conexao com o bd ja que tu nao vai utilizar o padrao DAO… então tu coloca todas tuas classes sql aqui dentro!
Pra ficar separado em 3 camadas o teu sistema onde a view é numa parte, teus models em outra e teus controladores ali! quando eu precisar ir atras de uma classe sql eu sei que ele ta no meu package controller.

Não sei se foi bem isso que teu professor ensinou, tbm não sei se estou totalmente correto, mas pelo que eu andei lendo e relendo eu entendi por esse meio.!

Da uma olhada ai! =)
http://jonathanssantos.blogspot.com/2009/10/padrao-de-projeto-mvc.html

Criado 3 de dezembro de 2009
Ultima resposta 4 de dez. de 2009
Respostas 10
Participantes 5