Dúvida sobre desenvolvimento de sistemas  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
vmsb11
Java Ninja

Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline

Olá pessoal, estou começando a desenvolver o sistema para o meu trabalho de conclusão de curso na faculdade, o sistema que eu irei desenvolver é um sistema gerador de mapas temáticos com base em arquivos Shapefile, bom pra falar a verdade a lógica para gerar os mapas já está feita.
Irei utilizar a linguagem Java e a aplicação será para Desktop, as minhas dúvidas é como escolher a melhor arquitetura para desenvolver o sistema, particularmente eu escolhi o MVC, pois achei interessante a maneira pela qual ele separa a aplicação.

Alguém pode me indicar outra arquitetura que também é muito utilizada para o desenvolvimento de softwares em Java para Desktop?
Porque o meu maior MEDO é que a aplicação fique com o código TODO MISTURADO por ex: código de lógica misturado com código de criação de interfaces, eu quero desenvolver um sistema no qual o código fique fácil de alterar e fácil compreensão.

Desde já obrigado

This message was edited 1 time. Last update was at 24/02/2011 13:10:32

Rafael_PDI_JAVA
Entusiasta Java
[Avatar]

Membro desde: 24/02/2011 12:27:14
Mensagens: 18
Localização: Goiânia
Offline

Bom amigo não sei qual curso vc está fazendo mais é bem interessante seu projeto.Você deve estar usando java estruturado, se usar java orientado a ojetos seu codigo ficará muito melhor e vc usára bem menos linhas, visto que a OO facilita a reutilização de código, e seu código ficará todo organizado em classes.Espero ter te ajudado...

Graduando em Análise e Desenvolvimento de Sistemas
vmsb11
Java Ninja

Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline

Rafael_PDI_JAVA wrote:Bom amigo não sei qual curso vc está fazendo mais é bem interessante seu projeto.Você deve estar usando java estruturado, se usar java orientado a ojetos seu codigo ficará muito melhor e vc usára bem menos linhas, visto que a OO facilita a reutilização de código, e seu código ficará todo organizado em classes.Espero ter te ajudado...


estou fazendo ciência da computação....

bom estou desenvolvendo Orientado a Objetos porém a minha dúvida é escolher a melhor arquitetura para que a minha aplicação fique separada entre a LÓGICA e a INTERFACE
Rafael_PDI_JAVA
Entusiasta Java
[Avatar]

Membro desde: 24/02/2011 12:27:14
Mensagens: 18
Localização: Goiânia
Offline

Bom amigo usa a MVC com Servlets ou JavaServer Pages as duas te possibilitam isso ok?Boa sorte...

Graduando em Análise e Desenvolvimento de Sistemas
vmsb11
Java Ninja

Membro desde: 25/08/2008 12:35:00
Mensagens: 251
Offline

Rafael_PDI_JAVA wrote:Bom amigo usa a MVC com Servlets ou JavaServer Pages as duas te possibilitam isso ok?Boa sorte...


A minha aplicação é para Desktop.

Existe alguma outra arquitetura para o desenvolvimento em Java para Desktop????....
robertol
JavaBaby
[Avatar]

Membro desde: 14/12/2010 16:05:06
Mensagens: 87
Localização: Salvador - Bahia
Offline

Bom, se vc quer separar lógica de criação de componentes, o MVC não serve para isto!

Você pode criar uma "camada" de serviço (Service) e, caso haja acesso a BD, uma "camada" de acesso a dados (DAO). Este é um padrão amplamente utilizando por diversas aplicações.

O MVC é para separação entre Modelo, Visualização e Controladora, sendo que esta última teria o acesso ao Service e o Service ao DAO.

Entendeu?

Roberto Leones
OCJP6
fredericoengels
Debugger
[Avatar]

Membro desde: 29/08/2010 20:43:45
Mensagens: 58
Offline

O modelo MVC é útil tanto para Web quanto para Desktop, ou para Mobile. E a idéia do MVC é justamente essa, separar a lógica de negócios da lógica de apresentação (visual).

Existem outros padrões de arquitetura, porém, eu não tenho conhecimentos suficientes para dizer qual é o mais eficiente para sua aplicação.

Eu uso MVC em TODOS projetos Web/Desktop que desenvolvo, e ouso a dizer que ele é o mais usado (pelo menos por mim)

----------------------------------------------------------
Graduando em Ciências da Computação
Centro Universitário de João Pessoa (UNIPÊ-PB)
----------------------------------------------------------
fredericoengels
Debugger
[Avatar]

Membro desde: 29/08/2010 20:43:45
Mensagens: 58
Offline

@robertol

Bem observado, recentemente eu peguei um código fonte de um sistema para estudar, e notei que existia uma camada de Serviço (Service Layer) , achei a idéia interessante, o Controlador chamar o Service e não o Modelo diretamente.


Alguém poderia citar as vantagens/desvantagens de se utilizar um Service Layer juntamente com o MVC ?

----------------------------------------------------------
Graduando em Ciências da Computação
Centro Universitário de João Pessoa (UNIPÊ-PB)
----------------------------------------------------------
robertol
JavaBaby
[Avatar]

Membro desde: 14/12/2010 16:05:06
Mensagens: 87
Localização: Salvador - Bahia
Offline

fredericoengels, o MVC é um modelo de front-end. Quando você usa uma camada de serviço, você abstrai a lógica de negócios da camada de apresentação (onde reside o V e o C do MVC). O M (model) seria o seu bean, entity ou qualquer outra coisa com propriedades e métodos de acesso (getters e setters).

Por exemplo, Struts, Struts2, Spring MVC, JSF são frameworks MVC e usados para apresentação de dados!

Roberto Leones
OCJP6
leolr@java
What is classpath?
[Avatar]

Membro desde: 18/03/2011 17:43:59
Mensagens: 7
Offline

Ola a todos, estou com um pequeno problema com a criação de um login par uma aplicação com DB, será que voçês poderiam mim dar uma força
podem ser links de sites ou tutoriais.valeu até a vista!!!
vitu
JavaTeenager
[Avatar]

Membro desde: 02/10/2007 10:56:53
Mensagens: 162
Offline

Já vi algumas coisas utilizando MVP, mas não sou muito fã de Java para aplicações desktop.

Tem uma pagina do fowler sobre GUI Architetures

http://martinfowler.com/eaaDev/uiArchs.html

Se mudar de ideia sobre a linguagem recomendo .NET

PS: Alguns Xiitas vão me criticar sobre o .NET, mas hoje é a melhor opção para desktop.



This is for yesterday.
[Email]
fabiocsilva
JavaEvangelist
[Avatar]

Membro desde: 19/07/2006 18:53:36
Mensagens: 319
Offline

Eu colocaria Service e DAO como uma única camada. Não deixe seu projeto mais complexo do que ele precisa ser, a menos que você tenha intenção de transformá-lo em algo open-source, criar um produto ou algo do tipo. Service + DAO é uma das maiores lendas que existem no mundo Java, todo mundo faz no automático, mas nem sempre é necessário separá-los...

"The only place where success comes before work is in the dictionary."
_____________________
Sun Certified Java Programmer
Sun Certified Business Component Developer
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team