Dica de boas práticas  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
malbarbosa
JavaEvangelist

Membro desde: 21/10/2007 14:20:26
Mensagens: 302
Offline

Pessoal,

Estou com uma dúvida. No código:


Gostaria de saber se passando por parâmetro " msgRequisicao.getServico()" é caracterizado uma má pratica ou se não seria melhor declarar uma variável recebendo o valor de retorno da função?
rmendes08
GUJ Master
[Avatar]

Membro desde: 29/05/2008 14:09:28
Mensagens: 1617
Offline

Nesse caso eu usaria uma variável, acho que fica mais claro além de você poder atribuir um nome que seja mais significativo dentro do contexto em que você está trabalhando. Além do mais, me parece que o tipo de retorno é uma enumeração. Se for o caso, eu sugeriria ainda o uso de swith-case.

"A Técnica é transformada em Arte por quem a emprega"

"O futuro pertence àqueles que acreditam na beleza de seus sonhos"

Computadores Fazem Arte

http://www.uaijug.com.br

"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados."
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline

malbarbosa wrote:Pessoal,

Estou com uma dúvida. No código:


Gostaria de saber se passando por parâmetro " msgRequisicao.getServico()" é caracterizado uma má pratica ou se não seria melhor declarar uma variável recebendo o valor de retorno da função?


Se você puder, refatore para ficar mais ou menos assim:


Note que ServiceConsultar e ServiceAutenticar teriam que implementar uma interface comum ou extender uma mesma classe, mas acho que o método fica mais elegante, concorda?

[]´s

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

ovelha
Java Ninja
[Avatar]

Membro desde: 12/09/2007 13:17:41
Mensagens: 281
Offline

Prq vc não cria no seu enum um método que já retorna a instancia certinha que vc quer?
Ai não teria nem if e nem switch, ficaria algo parecido como:


bééééééééééééééééé
malbarbosa
JavaEvangelist

Membro desde: 21/10/2007 14:20:26
Mensagens: 302
Offline

Boa tarde Ovelha,
acredito que para minha aplicação esse método que você me sugeriu não irá funcionar, pois o atributo msgRequisicao é uma classe serializada, que recebe informações de um arquivo XML.

asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline

malbarbosa wrote:Boa tarde Ovelha,
acredito que para minha aplicação esse método que você me sugeriu não irá funcionar, pois o atributo msgRequisicao é uma classe serializada, que recebe informações de um arquivo XML.



Nesse caso, você poderia usar o esquema que te passei, certo?

[]´s

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

malbarbosa
JavaEvangelist

Membro desde: 21/10/2007 14:20:26
Mensagens: 302
Offline

Correto, mas para o seu caso eu teria que ter um método getServiceInstance() na classe ServiceTypeEnum, correto?
asaudate
GUJ Master
[Avatar]

Membro desde: 01/09/2007 19:31:41
Mensagens: 1794
Localização: São Paulo
Offline

malbarbosa wrote:Correto, mas para o seu caso eu teria que ter um método getServiceInstance() na classe ServiceTypeEnum, correto?


Sim, é a idéia... o ServiceTypeEnum sabe de qual Service ele está falando.

[]´s

Alexandre Saudate
__________________________

Do not try to bend the spoon - that's impossible. Instead, only try to realize the truth: there is no spoon.

Série quickstart: Spring+Spring Security+Jersey (REST) +Hibernate (JPA) -> https://github.com/alesaudate/kickstart-springjerseyhibernate

Evite usar Axis2!!! Leia aqui para mais detalhes!

@alesaudate
Quer ler um blog especializado em web services e SOA?

ovelha
Java Ninja
[Avatar]

Membro desde: 12/09/2007 13:17:41
Mensagens: 281
Offline

Eu pensei que o método msgRequisicao.getServico() retornava um enum, até prq vc esta usando ele para comparar com um enum.

This message was edited 2 times. Last update was at 05/11/2010 20:42:07


bééééééééééééééééé
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

Eu fiz isso em framework atender requisições Flex no Java. Procedi como o amigo falou, criando uma interface para a lógica de negócio e carregando as várias instancias em um mapa. Assim os meu if sumiram e a solução ficou mais elegante e fácil de criar novas lógicas de negócio. Assim que eu terminar a documentação posto por aqui.

Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team