Duvidas no MVC  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
Rocklee6544
Debugger
[Avatar]

Membro desde: 02/03/2010 03:05:46
Mensagens: 50
Offline

Também tenho muita dúvida nessa parte.

Mas para mim
As regras de apresentação devem ficar na tela (
validações de campo preenchido e mascara etc.)

Na camada de controller
Creio que deva ficar apenas as regras de navegação(Redirecionamento)

Na model
devem ficar as regras de negócio e os bens .

Não sei se esse seria o padrão correto mas é o que tenho fixo na cabeça.(Talvez na tela fique apenas as mascaras e a validações de campos deva ficar no controller).


Honestamente não sei qual seria o melhor padrão, vo pegar um bom livro de padrões e dar uma fuçada na net para ver se concluo algumas coisa.
[Email] [MSN]
Rocklee6544
Debugger
[Avatar]

Membro desde: 02/03/2010 03:05:46
Mensagens: 50
Offline

Basicamente o que eu penso é isso

view alguma tecnologia de renderização
JSP,JSTL,JSF,XHTML

controller alguma tecnologia capaz de capturar as requisição fazer algum tratamento se necessário e redirecionar
Actions e Servlet

Modelo
Beans
DAOs

Aqui ainda usamos algumas camadas a mais view,action,facade,model,dao

tenho muita dúvida aonde validar os dados de entrada , mas creio que as regras de negócio sejam mesmo na model
[Email] [MSN]
Rocklee6544
Debugger
[Avatar]

Membro desde: 02/03/2010 03:05:46
Mensagens: 50
Offline

Correção não são camadas a mais...

São as tres camadas mas com responsabilidades divididas em mais classe.

This message was edited 1 time. Last update was at 17/01/2012 11:30:44

[Email] [MSN]
wagnerfrancisco
JavaGuru
[Avatar]

Membro desde: 02/10/2007 10:05:02
Mensagens: 243
Localização: Criciúma / SC
Offline

Sandro, deve existir centenas de tópicos sobre MVC aqui no GUJ, respondendo e trazendo muitas outras dúvidas. Mas deve-se observar que:

1) MVC não é a respeito da divisão de camadas, portanto dizer que a regra de negócio fica no Model (ou Controller ou View) é estranho.

2) No Domain-Driven Design, existe uma sugestão para divisão de camadas, são elas: Apresentação, Atividade, Domínio e Infra-Estrutura. As regras de negócio estão no Domínio.

3) O padrão Repository faz parte do domínio. É uma coleção mais inteligente, pois "conhece" o domínio e apresenta métodos mais específicos (e não somente métodos genéricos).

4) Para implementar um Repository pode se utilizar um DAO. O DAO não faz parte do domínio, e sim da camada de infra-estrutura.

5) Você pode ter (e possivelmente terá) serviços que encapsulam a lógica da sua aplicação. Isso não significa que você não deve acessar um repository diretamente. Normalmente, quando você deseja somente realizar buscas simples, o acesso é feito direto no repositório, sem um serviço no meio.

Desse modo, o Controller (do VRaptor ou de outro framework) pode acessar tanto um Repository quanto um Service que está encapsulando uma determinada lógica.

Pra entender melhor, veja, por exemplo, o código do JForum 3:

https://github.com/rafaelsteil/jforum3


Falou!

http://wagnermezaroba.blogspot.com
j0nny
GUJ Master
[Avatar]

Membro desde: 19/09/2009 00:01:57
Mensagens: 1121
Localização: Blumenau - SC
Offline

Pense sempre em simplificar as coisas, e não em adicionar camadas só por adicionar.

Eu geralmente uso assim:

Categoria: entidade + lógicas pertinentes ao modelo Categoria, e nada mais
CategoriaDao: somente os SQL's e qualquer outra coisa que somente faça gravar e buscar meus dados. Só!
CategoriaController: server para redirecionar a chamada para o responsável certo, e de acordo com o resultado, escolher qual q melhor view e qual resultado deve ser apresentado para o usuário
CategoriaView: sua view, SWING, HTML ou qualquer outra coisa
CategoriaService: SOMENTE uso essa cama se tenho uma lógica um pouco mais que envolva MAIS de uma entidade.

Espero ter ajudado.

@jntsdaniel
github.com/jonatasdaniel

---

AndOrm - Framework ORM para Android
http://github.com/jonatasdaniel/andorm
[WWW]
Rocklee6544
Debugger
[Avatar]

Membro desde: 02/03/2010 03:05:46
Mensagens: 50
Offline

De maneira geral é exatamente o que o colega disse acima que eu penso.

E acho certo utilizar.

Já teve projeto que eu participei que tinham classes auxiliares de serviço para facilitar o trabalho com as
classes de negócio, tratar repostas mais complexas.

[Email] [MSN]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team