Metodo comum em 'Controllers' diferentes
18/10/2012 19:37
0
Pessoal,

gostaria de saber se alguém conhece alguma maneira de implementar um método comum a controllers diferentes, por exemplo: uso o mesmo método para salvar arquivos em todos os controllers, quando vejo uma maneira melhor de implementar o comando tenho que ir em cada um dos pontos e alterar a funcionalidade, efetuar testes, etc. Gostaria de saber se alguém conhece alguma maneira de implementar um método (função, processo, etc) em Controllers diferentes de modo que eu ao alterar em apenas 1 lugar seja replicado aos demais controladores?

Eu estava utilizando 'Services' para isso, mas cai num ponto em que teria que utilizar os recursos dos controladores dentro do service desviando sua funcionalidade.

Além do Service alguém conhece algum método que auxilie nesta implementação.
Tags: controller, metodo, função, centralização


1
Fala Brother,

Tente criar um AbstractController e coloca ele em src/groovy daí vc extend ele para os controllers que vc quer! Não sei se é uma boa idéia mas já é um caminho! Vou dar uma pesquisada afundo mais tarde!

Abraços!


1
Isso mesmo, teria que criar uma super classe com os métodos a serem reaproveitados.

Lembre que o preço disso é o alto acoplamento.

Abraços.


1
Uma alternativa, dependendo do que for ser feito, é criar uma classe helper lá no src/groovy.

O controller tem uma instancia dessa classe helper, que contém as funções necessárias.

O problema é que essa classe não tem injetada varias coisas padrões do grails, entao toma cuidado senao vai passar muita coisa por parametro.
19/10/2012 12:07


0
Confesso que nunca criei uma classe AbstractController e não sei a complexidade de manutenção no código que ele pode gerar futuramente.

Achei interessante a opção do Mussato de criar a classe helper porém a questão da injeção eu tenho resistência, mas vou estudá-la.

Alguém conhece algum texto que possa me ajudar a estudar estas 2 sugestões antes de implementar?

Obrigado pela ajuda
19/10/2012 12:20


0
Brother tem mais uma forma de fazer isso é usando Mixins! Não sei se te ajuda! mais é mais uma opção pro seu caso! Mixins


0
Brother creio que esse link te ajuda sobre a criação do abstract controller!



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto