:: Google Guice, Google DI Framework  XML
Índice dos Fóruns » Notícias
Autor Mensagem
Hal Jordan
JavaChild
[Avatar]

Membro desde: 24/04/2006 12:20:41
Mensagens: 129
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?


saoj
Forum Spammer
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2286
Localização: Los Angeles, EUA
Offline


Só faltou um exemplo no site lá... Um HelloWorld...

Se vc conseguir algum exemplo aí posta aqui para a gente ver...

Participe dos meus novos blogs:
O Poder Primário - Você no controle da sua felicidade
Sedução Tecnológica - Tutoriais, dicas e histórias de um engenheiro

[Email] [WWW]
Hal Jordan
JavaChild
[Avatar]

Membro desde: 24/04/2006 12:20:41
Mensagens: 129
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:

saoj
Forum Spammer
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2286
Localização: Los Angeles, EUA
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...)


Participe dos meus novos blogs:
O Poder Primário - Você no controle da sua felicidade
Sedução Tecnológica - Tutoriais, dicas e histórias de um engenheiro

[Email] [WWW]
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

[WWW] [MSN] [ICQ]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2449
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
[WWW]
urubatan
Moderador
[Avatar]

Membro desde: 21/09/2002 10:31:26
Mensagens: 2449
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
[WWW]
saoj
Forum Spammer
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2286
Localização: Los Angeles, EUA
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.

Participe dos meus novos blogs:
O Poder Primário - Você no controle da sua felicidade
Sedução Tecnológica - Tutoriais, dicas e histórias de um engenheiro

[Email] [WWW]
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

[WWW] [MSN] [ICQ]
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

[WWW] [MSN] [ICQ]
Leozin
Forum Spammer
[Avatar]

Membro desde: 18/06/2005 21:01:26
Mensagens: 1897
Localização: São Paulo/SP
Offline

Hal Jordan wrote:
- "Spring é melhor!!!"


Certa resposta!

Spring best java framework ftw

http://www.leozin.com.br/blog
[ICQ]
saoj
Forum Spammer
[Avatar]

Membro desde: 09/03/2004 23:34:46
Mensagens: 2286
Localização: Los Angeles, EUA
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.


Participe dos meus novos blogs:
O Poder Primário - Você no controle da sua felicidade
Sedução Tecnológica - Tutoriais, dicas e histórias de um engenheiro

[Email] [WWW]
#@®®¡$
Moderador
[Avatar]

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.
[WWW] [ICQ]
Hal Jordan
JavaChild
[Avatar]

Membro desde: 24/04/2006 12:20:41
Mensagens: 129
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....

Hal Jordan
JavaChild
[Avatar]

Membro desde: 24/04/2006 12:20:41
Mensagens: 129
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!!!
 
Índice dos Fóruns » Notícias
Ir para:   
Powered by JForum 2.1.8 © JForum Team