| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 11:46:13
|
Hal Jordan
JavaChild
![[Avatar]](/images/avatar/2cb6a27d266231298f8e74610bab6fe8.jpg)
Membro desde: 24/04/2006 12:20:41
Mensagens: 128
Offline
|
Google lançou seu framework de DI chamado Guice, que faz uso de anotações e generics. Ele nao usa XML e injeta os serviços de várias formas... Tem suporte a Spring, Struts 2, AOP, circular dependencies, custon scopes, etc.
Quem vai gostar é o pessoal do Mentawai: NO XML's...
Bom, aqui vai o site deles: http://code.google.com/p/google-guice/
Será que vai começar uma flame war aqui ?
- "Spring é melhor!!!"
- "E vou casar com o Spring!!!"
- etc, etc, etc...
As verdadeiras perguntas são: O que isso muda pra vc? Quando o Guice se faz util? O que ele acrescenta ao universo Java?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 15:46:19
|
saoj
Forum Spammer
Membro desde: 09/03/2004 23:34:46
Mensagens: 2211
Localização: RJ, BRA
Offline
|
Só faltou um exemplo no site lá... Um HelloWorld...
Se vc conseguir algum exemplo aí posta aqui para a gente ver...
|
- Será que você consegue fazer parte desse seleto grupo? http://www.selleto.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 15:53:25
|
Hal Jordan
JavaChild
![[Avatar]](/images/avatar/2cb6a27d266231298f8e74610bab6fe8.jpg)
Membro desde: 24/04/2006 12:20:41
Mensagens: 128
Offline
|
Exemplos estão aqui: http://docs.google.com/Doc?id=dd2fhx4z_5df5hw8
Classe de módulo que configura o, humm... , o módulo.
E a classe que utilizará o serviço:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 16:08:21
|
saoj
Forum Spammer
Membro desde: 09/03/2004 23:34:46
Mensagens: 2211
Localização: RJ, BRA
Offline
|
Apenas para termos algo com o que compará-lo, abaixo segue um exemplo idêntico com o Mentawai:
(Se alguém quiser colocar um exemplo usando Spring, Struts, etc. seria bom tb)
Uma diferença que eu vi é que eles estão fazendo injection via construtor. Com o Mentawai vc pode fazer injection via setter ou diretamente no campo privado como o exemplo acima, ou seja, sem qualquer setter.
Eles suportam injection diretamente em campo privado também? (Devem suportar...)
|
- Será que você consegue fazer parte desse seleto grupo? http://www.selleto.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 16:26:35
|
fabio.patricio
Forum Spammer
Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline
|
Olá,
Ontem eu estava conversando com o Plentz sobre o framework. Sinceramente achei legal, mas nao gostei desse AbstractModule. Tem um cheiro ruim esse negocio.
]['s
|
Fabio Patricio
http://blog.wansoft.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 16:32:12
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2437
Localização: Porto Alegre/RS
Offline
|
Sérgio, calma
o Guice não é um concorrente do mentawai ...
ele é só um container para DI ...
e como container para DI ele é muito mais flexivel que o mentawai, ele suporta injeção via setter e constructor.
tem um suporte muuuiittoooo fraco a AOP, e não tem absolutamente nada a ver com MVC nem web, é só infra mesmo ...
uma coisa legal que achei nele, foi a possibilidade de fazer o seguinte:
assim se tu tiver isto:
não precisa configurar no binder quem é que implementa Service ...
outra coisa bem legal é poder fazer o seguinte:
que seria injetado em algo assim:
ou então isto:
ele cria automagicamente um objeto da classe "concrete" e injeta uma instancia dela ali.
isto foi o que ja deu tempo de eu ver do Guice ...
tem algumas coisinhas que não achei legais nele também, mas isto fica pra outra hora ...
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br - pt_BR
http://www.urubatan.info - en_US
Arquiteto J2EE
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 16:37:15
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2437
Localização: Porto Alegre/RS
Offline
|
fabgp2001 wrote: Olá,
Ontem eu estava conversando com o Plentz sobre o framework. Sinceramente achei legal, mas nao gostei desse AbstractModule. Tem um cheiro ruim esse negocio.
]['s
<modo espero que ninguém saiba do que to falando>
abstract module não tem cheiro ruim, classes com todos os métodos static, implementando regra de negócio com dados apenas em memória sem suporte a transações, em que a unica forma de se criar um vo é inserindo dados no "banco em memória sem suporte a transações", e com todas as classes que não são puramente estáticas tem construtores package private tornando quase impossível se criar um mock para escrever os testcases.
é que tem um cheiro estranho.
</modo espero que ninguem saiba do que to falando>
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br - pt_BR
http://www.urubatan.info - en_US
Arquiteto J2EE
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 16:40:46
|
saoj
Forum Spammer
Membro desde: 09/03/2004 23:34:46
Mensagens: 2211
Localização: RJ, BRA
Offline
|
urubatan wrote:
Sérgio, calma
To calmo. Como falei apenas dei um exemplo para "ter com o que comparar".
urubatan wrote:
o Guice não é um concorrente do mentawai ...
ele é só um container para DI ...
Claro que não é concorrente. O Guice é genérico para ser usado com qualquer tipo de aplicaçao (web, distribuída, etc). Já o IOC/DI do Mentawai é do Menta para o Menta.
urubatan wrote:
e como container para DI ele é muito mais flexivel que o mentawai, ele suporta injeção via setter e constructor.
Vc quer dizer mais genérico e não mais flexível. O Mentawai suporta injeçao por construtor, setter e tb direto no campo privado. Parece que é tão flexível quanto o Guice. Só não é mais genérico pois como eu falei é do menta para o menta.
O fato do mentawai oferecer um bom suporte a IOC e DI faz com que as coisas fiquem muito mais simples. O que é mais fácil: usar um framework para web e DI ou dois frameworks: um para web e outro para DI?
A resposta é subjetiva, mas acredito que usando um framework só que já te oferece todas as principais soluções vai facilitar a vida. Nada te impede de usar tb 10 frameworks num projeto, se vc domina bem esses 10 frameworks.
|
- Será que você consegue fazer parte desse seleto grupo? http://www.selleto.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 16:45:40
|
fabio.patricio
Forum Spammer
Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline
|
urubatan wrote:
<modo espero que ninguém saiba do que to falando>
abstract module não tem cheiro ruim, classes com todos os métodos static, implementando regra de negócio com dados apenas em memória sem suporte a transações, em que a unica forma de se criar um vo é inserindo dados no "banco em memória sem suporte a transações", e com todas as classes que não são puramente estáticas tem construtores package private tornando quase impossível se criar um mock para escrever os testcases.
é que tem um cheiro estranho.
</modo espero que ninguem saiba do que to falando>
Quem dera se fosse só isso que tivesse cheiro ruim.
Mas voltando não é tao feio, so nao gosto da ideia de ter que criar um módulo pra fazer essa configuração. Ta certo que nao é obrigatorio.
]['s
|
Fabio Patricio
http://blog.wansoft.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 16:47:33
|
fabio.patricio
Forum Spammer
Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline
|
saoj wrote:To calmo. Como falei apenas dei um exemplo para "ter com o que comparar".
Ai eu concordo com o Urubatan. Comparar pessego com manga nao é algo bom.
O ideia seria uma comparacao com Pico e Spring.
]['s
|
Fabio Patricio
http://blog.wansoft.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 16:48:45
|
Leozin
Forum Spammer
![[Avatar]](/images/avatar/5dca4c6b9e244d24a30b4c45601d9720.png)
Membro desde: 18/06/2005 21:01:26
Mensagens: 1659
Localização: São Paulo/SP
Offline
|
Hal Jordan wrote:
- "Spring é melhor!!!"
Certa resposta!
Spring best java framework ftw
|
fcmartins wrote:
Cliente: Não precisa fazer testes, o sistema bem especificado e implementado não dá problema, testes são a muleta do programador.
**Popeye12345** wrote:Se testes são a muleta do programador, 90% dos coders foram pro Vietnã.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 16:52:18
|
saoj
Forum Spammer
Membro desde: 09/03/2004 23:34:46
Mensagens: 2211
Localização: RJ, BRA
Offline
|
fabgp2001 wrote:
Ai eu concordo com o Urubatan. Comparar pessego com manga nao é algo bom.
Acho que a comparaçao foi pertinente. Ambos fazem a mesma coisa, só que o Guice é um framework genérico para DI e o Mentawai um framework web que suporta também DI.
Os códigos ficaram até bem parecidos...
Alguém ai poderia colocar comparativos com Pico e String também.
|
- Será que você consegue fazer parte desse seleto grupo? http://www.selleto.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 16:53:03
|
#@®®¡$
Moderador
![[Avatar]](/images/avatar/2288f691b58edecadcc9a8691762b4fd.jpg)
Membro desde: 13/02/2004 09:42:28
Mensagens: 807
Localização: São Paulo
Offline
|
Guice (pronounced 'juice')
Mas hein?
|
Wilerson "#@®®¡$" de Oliveira
http://mundoestranho.net/blog/
Douglas Adams wrote:I love deadlines. I like the whooshing sound they make as they fly by.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 17:02:38
|
Hal Jordan
JavaChild
![[Avatar]](/images/avatar/2cb6a27d266231298f8e74610bab6fe8.jpg)
Membro desde: 24/04/2006 12:20:41
Mensagens: 128
Offline
|
Leozin wrote:
Hal Jordan wrote:
- "Spring é melhor!!!"
Certa resposta!
Spring best java framework ftw
Eu sabia, Eu sabia, Eu sabia... hahaha... Que ia ter um comentário sobre o Spring...
A questão não é o Spring, e sim o Guice... qq ele pode trazer pros seus projetos???... Se eu precisar somente IoC/DI o Guice se mostrou um framework compentente, simples. Bem mais simples q o Spring...
Mas agora se eu preciso de controle de transações, segurança, etc... (q não é o foco do Guice) eu prefiro o Sp.... EJB3.
Enfim, a questao nao é comparar o full set do Spring, mas sim o DI, q pelo jeito o Guice tá se monstrando bem simples....
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/03/2007 17:06:08
|
Hal Jordan
JavaChild
![[Avatar]](/images/avatar/2cb6a27d266231298f8e74610bab6fe8.jpg)
Membro desde: 24/04/2006 12:20:41
Mensagens: 128
Offline
|
saoj wrote:
Alguém ai poderia colocar comparativos com Pico e String também.
Spring tá aqui : http://code.google.com/p/google-guice/wiki/SpringComparison
Mas a comparação com o String é meio dificil, deixo isso como tarefa pra evangelistas!!!
|
|
|
 |
|
|