You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by tm jee <tm...@yahoo.co.uk> on 2006/11/14 03:05:29 UTC

[s2][OT] Guice rocks

Hi guys, 

Sorry, this might be off topic a bit.

Just want to say I really like Guice. Its simple, fast (amazing !!!), well written ...  

I like the code, its so clean and elegant (to me at least). For newbies like me who are still trying to pick up the new features offered by Tiger, Guice is really a nice tutorial (educative) to start off with. Just reading the code teaches me a great deal. Oh.. and the Apis are well thought out, nicely separate between internal and external where only external stuff are expose as public. Its also makes good uses of Tiger's Threading capabilities.... :-)

Simply amazing. Kudos guys. Got to love Guice.

p/s Btw, Don would you mind sharing with us where did you manage to find goodies like Guice? I haven't heard about it until your post, maybe I am just too out-dated .... missing all the fun....

rgds


 Send instant messages to your online friends http://uk.messenger.yahoo.com 

Re: [s2][OT] Guice rocks

Posted by tm jee <tm...@yahoo.co.uk>.
Good idea Alex. ;)

I manage to find his email at carzybob.org  

 
Alexandru Popescu <th...@gmail.com> wrote: On 11/15/06, tm jee  wrote:
> Hi guys,
>
> Guice doesn't seem to have a mailing list or forum. Does anyone know how to follow up with development / news of Guice?
>
> It doesn't seem to have a documentation page as well, too bad for such a superb project. :P Anyone knows about the plans of Guice?
>

Just ping Bob Lee, till he will answer :-).

./alex
--
.w( the_mindstorm )p.

> tia.
>
> rgds
>
> Don Brown  wrote: Guice is the love child of our very own Bob Lee of Google.  He wrote it
> for his applications at work that needed a DI library, but needed it to
> be small and very fast (he quotes some strange stat like 150x the speed
> of Spring).  In bug tickets and personal conversions, he hinted that he
> wanted to use it, once it went Open Source, in his new API, so I decided
> to take it a step further and put it at the core of XWork and Struts 2
> now.
>
> And I agree, it is a very impressive piece of code :)  I'm looking
> forward to finding new ways to use it better as we learn its capabilities.
>
> Don
>
> tm jee wrote:
> > Hi guys,
> >
> > Sorry, this might be off topic a bit.
> >
> > Just want to say I really like Guice. Its simple, fast (amazing !!!), well written ...
> >
> > I like the code, its so clean and elegant (to me at least). For newbies like me who are still trying to pick up the new features offered by Tiger, Guice is really a nice tutorial (educative) to start off with. Just reading the code teaches me a great deal. Oh.. and the Apis are well thought out, nicely separate between internal and external where only external stuff are expose as public. Its also makes good uses of Tiger's Threading capabilities.... :-)
> >
> > Simply amazing. Kudos guys. Got to love Guice.
> >
> > p/s Btw, Don would you mind sharing with us where did you manage to find goodies like Guice? I haven't heard about it until your post, maybe I am just too out-dated .... missing all the fun....
> >
> > rgds
> >
> >
> >  Send instant messages to your online friends http://uk.messenger.yahoo.com
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>
>
>  Send instant messages to your online friends http://uk.messenger.yahoo.com
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org



 		
---------------------------------
 Copy addresses and emails from any email account to Yahoo! Mail - quick, easy and free. Do it now...

Re: [s2][OT] Guice rocks

Posted by Alexandru Popescu <th...@gmail.com>.
On 11/15/06, tm jee <tm...@yahoo.co.uk> wrote:
> Hi guys,
>
> Guice doesn't seem to have a mailing list or forum. Does anyone know how to follow up with development / news of Guice?
>
> It doesn't seem to have a documentation page as well, too bad for such a superb project. :P Anyone knows about the plans of Guice?
>

Just ping Bob Lee, till he will answer :-).

./alex
--
.w( the_mindstorm )p.

> tia.
>
> rgds
>
> Don Brown <mr...@twdata.org> wrote: Guice is the love child of our very own Bob Lee of Google.  He wrote it
> for his applications at work that needed a DI library, but needed it to
> be small and very fast (he quotes some strange stat like 150x the speed
> of Spring).  In bug tickets and personal conversions, he hinted that he
> wanted to use it, once it went Open Source, in his new API, so I decided
> to take it a step further and put it at the core of XWork and Struts 2
> now.
>
> And I agree, it is a very impressive piece of code :)  I'm looking
> forward to finding new ways to use it better as we learn its capabilities.
>
> Don
>
> tm jee wrote:
> > Hi guys,
> >
> > Sorry, this might be off topic a bit.
> >
> > Just want to say I really like Guice. Its simple, fast (amazing !!!), well written ...
> >
> > I like the code, its so clean and elegant (to me at least). For newbies like me who are still trying to pick up the new features offered by Tiger, Guice is really a nice tutorial (educative) to start off with. Just reading the code teaches me a great deal. Oh.. and the Apis are well thought out, nicely separate between internal and external where only external stuff are expose as public. Its also makes good uses of Tiger's Threading capabilities.... :-)
> >
> > Simply amazing. Kudos guys. Got to love Guice.
> >
> > p/s Btw, Don would you mind sharing with us where did you manage to find goodies like Guice? I haven't heard about it until your post, maybe I am just too out-dated .... missing all the fun....
> >
> > rgds
> >
> >
> >  Send instant messages to your online friends http://uk.messenger.yahoo.com
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>
>
>  Send instant messages to your online friends http://uk.messenger.yahoo.com
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [s2][OT] Guice rocks

Posted by Konstantin Priblouda <kp...@yahoo.com>.

--- Bob Lee <cr...@crazybob.org> wrote:

> I'm aware of the container per scope pattern. The
> first time I saw it was
> when Joe Walnes did it with WebWork's DI container
> (before Spring and Pico
> existed).
> 
> I actually tried the container per scope approach
> with Guice first. It
> worked fine for hierarchical scopes, but not so well
> for others, i.e. thread
> local, transaction, etc.

If we are speaking of web environment, there is no
real need for thread local - since request scope is
kind of thread local. Servlet environment is
hierarchical by nature. 

Transaction scope can be implemented by silbing
containers too ( say, we place an "startable"
transaction object into this container, and its
lifecycle is bound to that container.   then everybody
who likes access to it just specifies transaction as
dependency - on the end of lifecycle transaction gets
commited or rolled back )

Drawback of hierarchical approach is difficulty 
( or impossibility ) to inject something from child
container into component residing in parent. But 
such demands are really rare and should be questioned.



> I may add support for this somehow, but maintenance
> is a big concern here.
> Right now, the primary goal is to help users design
> their own code well and
> avoid boilerplate and repetition and static
> dependencies.

Resolving ambiguitites  is a important concern, 
because they are pretty common. (like having more than
one hibernate session). And flexible configuration is
essential in DI environment to be able to effective
reuse code without changing it. 

And placing special annotations on managed objects
introduces dependency to container, which is a really
ugly antipattern. 

I must also admit, that none of configuration systems
used by pico/nano is really perfect. It's difficult to

provide flexible and easy to use configuration
scripting.


> So, there is definitely no need to invent yet
> another
> > DI container for xwork unless you have fun of it
> ;)
> 
> 
> I respectfully disagree. :)
>
You do not have any fun with guice? ;)

regards,

----[ Konstantin Pribluda http://www.pribluda.de ]----------------
Still using XDoclet 1.x?  XDoclet 2 is released and of production quality.
check it out: http://xdoclet.codehaus.org


 
____________________________________________________________________________________
Sponsored Link

Mortgage rates near 39yr lows. 
$510k for $1,698/mo. Calculate new payment! 
www.LowerMyBills.com/lre

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [s2][OT] Guice rocks

Posted by Bob Lee <cr...@crazybob.org>.
Thanks, everyone, for the encouragement.

Guice is still very much in the early stages, and I'm trying not to draw too
much attention/scrutiny at this point. Guice is usable though. In fact,
we've been running it in production for a couple release cycles now.

Check out the issue tracker to see what's in the works:
http://code.google.com/p/google-guice/issues/list

I set up a mailing list: http://groups.google.com/group/google-guice

I'm putting a big focus on limiting magic, enabling static checking, keeping
things simple, and performance.

To address Konstantin's points:

On 11/15/06, Konstantin Priblouda <kp...@yahoo.com> wrote:
>
> I do not like idea of "scope" - it's kind looks
> "springy" to me. Scope can be obtained easily by using
> container hierarchy ( like nanocontainer does -
> it registers 3 container hierarchy with managed
> lifecycles, or possibly more like "one container per
> directory / package " )


I'm aware of the container per scope pattern. The first time I saw it was
when Joe Walnes did it with WebWork's DI container (before Spring and Pico
existed).

I actually tried the container per scope approach with Guice first. It
worked fine for hierarchical scopes, but not so well for others, i.e. thread
local, transaction, etc.

I do need to use an interface instead of an enum for scopes I've decided.

Storage of wiring information in annotations is a nice
> idea, but not really flexible ( Is it posssible to
> manipulate annotations on a class, or are they bound
> at compile time? )


I may add support for this somehow, but maintenance is a big concern here.
Right now, the primary goal is to help users design their own code well and
avoid boilerplate and repetition and static dependencies.

So, there is definitely no need to invent yet another
> DI container for xwork unless you have fun of it ;)


I respectfully disagree. :)

Thanks,
Bob

Re: [s2][OT] Guice rocks

Posted by Konstantin Priblouda <kp...@yahoo.com>.

--- tm jee <tm...@yahoo.co.uk> wrote:

> Thx for the share of knowledge Konstantin. I'd need
> to read up about pico to be able to understand more.
> :)

http://www.picocontainer.org/5.1+Tutorials

to get overall idea.

For usage in web, you may look at my demo
( though this may need some dependency  tweaking to
compile, since I did not have looked after it for long
time ):

http://svn.picocontainer.codehaus.org/browse/picocontainer/java/demos/trunk/jtec


Look into nano-application.xml / nano-session.xml /
nano-request.xml - that where container buildup is
described ( there are several scripting options, from
compiled java class up to groovy scripts i you like ) 

Actions will receive dependencies from this conainer
chain, and could be registered explicitely to avoid
ambiguities. And they could be even registered in
session scope -> kind of "wizard" ( though it is
seldom necessary ) 


> Yup. Its pretty new. I think the codes are clean and
> very well written. I like the way it uses the
> Factory interface as callbacks The uses of generics.
> Separation of internal and external apis (eg.
> ExternalContext and Context / InternalContext,
> Factory vs InternalFactory ). The callbacks are
> nicely used. Nice extension like
> FinalizableReferenceQueue that does clean up upon
> gc. Use of adapters pattern  / transformer
> (hopefully i got this right)  like Function.
> Resolving cyclic dependncy using Proxy etc.  :)

While 1.5 features are nice,   my customers are not
yet ready to use them.  So, I have to live off 1.4.x
;)

> I see. I am more used to the "scope" because of
> Spring. Pico does have a interesting way of doing
> things. I guess its like a composite / chain kindof
> thing, but I'll need to read up about pico to
> understand more. ;)

Exactly. It's a chain of containers, and there is one
app scoped container per application,  one per session
and one per request. Or more in dedicated directories.


For example I use directory based containers  to 
fine tune security ( place component there, which
requires certain role and bombs otherwise  and this
directory and below is no longer accessible without it
) or to control my menu system
(
http://jtec.svn.sourceforge.net/viewvc/jtec/trunk/jtec-menu/
) - just place EntryActivator into directory container
and forget about it. ( and seethat whole system does
not know anything about servlets )


> I see, i guess its something like Spring's
> FactoryBean/ProxyFactoryBean. I guess in Guice, one
> could registor a custom factory using
> ContainerBuilder, but I might be totally wrong. :)

Yep, it's a kind of. But main difference between pico
& spring is that pico is just DI container and does
not pretend to be full J2EE app server. It's made to
be 
easily integrated.

regards,

----[ Konstantin Pribluda http://www.pribluda.de ]----------------
Still using XDoclet 1.x?  XDoclet 2 is released and of production quality.
check it out: http://xdoclet.codehaus.org


 
____________________________________________________________________________________
Sponsored Link

$420k for $1,399/mo. 
Think You Pay Too Much For Your Mortgage? 
Find Out! www.LowerMyBills.com/lre

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [s2][OT] Guice rocks

Posted by tm jee <tm...@yahoo.co.uk>.
Thx for the share of knowledge Konstantin. I'd need to read up about pico to be able to understand more. :)

> I looked at javadocs ( there is no real docs besides
> it ) and sources, and it looks that it is really new,
> and there is not so much there. 

Yup. Its pretty new. I think the codes are clean and very well written. I like the way it uses the Factory interface as callbacks The uses of generics. Separation of internal and external apis (eg. ExternalContext and Context / InternalContext, Factory vs InternalFactory ). The callbacks are nicely used. Nice extension like FinalizableReferenceQueue that does clean up upon gc. Use of adapters pattern  / transformer (hopefully i got this right)  like Function. Resolving cyclic dependncy using Proxy etc.  :)


> I do not like idea of "scope" - it's kind looks
> "springy" to me. Scope can be obtained easily by using
> container hierarchy ( like nanocontainer does - 
> it registers 3 container hierarchy with managed 
> lifecycles, or possibly more like "one container per
> directory / package " )

I see. I am more used to the "scope" because of Spring. Pico does have a interesting way of doing things. I guess its like a composite / chain kindof thing, but I'll need to read up about pico to understand more. ;)

> There are a lot of such  adapters also for remote
> access ( just register it with interface and backend
> url,  and your action gets webservice bean injected
> without knowing it )  etc. The same would work with
> ejb / jndi lookup or whatever.

I see, i guess its something like Spring's FactoryBean/ProxyFactoryBean. I guess in Guice, one could registor a custom factory using ContainerBuilder, but I might be totally wrong. :)

Unfortunately I can't make it to JavaPolis. what a pitty. If you decided to have a blog, do let me know. I could be reached at (tm_jee at yahoo dot co do uk). 

Cheers. 

rgds




Konstantin Priblouda <kp...@yahoo.com> wrote: 

--- tm jee  wrote:

> Thx for the reply. If you have any finding, I'd be
> glad to learn more about it. I am kindof interested
> in this area as well. But i am still a beginner so I
> might talk nonsense... :P

Well, I'm  pretty used to DI / IoC containers ( being
pico commiter ;) ) 

I looked at javadocs ( there is no real docs besides
it ) and sources, and it looks that it is really new,
and there is not so much there. 

I do not like idea of "scope" - it's kind looks
"springy" to me. Scope can be obtained easily by using
container hierarchy ( like nanocontainer does - 
it registers 3 container hierarchy with managed 
lifecycles, or possibly more like "one container per
directory / package " )

Though this code did not made it into S2 codebase yet
pending issue with source headers ( and WW-1370 ), it 
is usable.

Storage of wiring information in annotations is a nice
idea, but not really flexible ( Is it posssible to
manipulate annotations on a class, or are they bound
at compile time? ) 

Pico uses "component adapters" instead, which can be
( and usually are ) chained to specify some really
weird behaviour like:

(constructor injection) -> (parameters via setter) ->
( aop) -> (cache/threadlocal)

There are a lot of such  adapters also for remote
access ( just register it with interface and backend
url,  and your action gets webservice bean injected
without knowing it )  etc. The same would work with
ejb / jndi lookup or whatever.

So, there is definitely no need to invent yet another
DI container for xwork unless you have fun of it ;)


> Have you got a blog? Maybe blog about your findings
> would be nice. I'll definitely subscribe to it. 

not yet. being a hausmate I'm definitely enitled to
one
at blogs.codehaus.org, but I did not figured out how 
to activate it yet ;)

If you go to javapolis, we can surely met at dinner ;)

regards,


----[ Konstantin Pribluda http://www.pribluda.de ]----------------
Still using XDoclet 1.x?  XDoclet 2 is released and of production quality.
check it out: http://xdoclet.codehaus.org


 
____________________________________________________________________________________
Sponsored Link

Mortgage rates near 39yr lows. 
$420k for $1,399/mo. Calculate new payment! 
www.LowerMyBills.com/lre

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org



 		
---------------------------------
 Inbox full of spam? Get leading spam protection and 1GB storage with All New Yahoo! Mail.

Re: [s2][OT] Guice rocks

Posted by Konstantin Priblouda <kp...@yahoo.com>.

--- tm jee <tm...@yahoo.co.uk> wrote:

> Thx for the reply. If you have any finding, I'd be
> glad to learn more about it. I am kindof interested
> in this area as well. But i am still a beginner so I
> might talk nonsense... :P

Well, I'm  pretty used to DI / IoC containers ( being
pico commiter ;) ) 

I looked at javadocs ( there is no real docs besides
it ) and sources, and it looks that it is really new,
and there is not so much there. 

I do not like idea of "scope" - it's kind looks
"springy" to me. Scope can be obtained easily by using
container hierarchy ( like nanocontainer does - 
it registers 3 container hierarchy with managed 
lifecycles, or possibly more like "one container per
directory / package " )

Though this code did not made it into S2 codebase yet
pending issue with source headers ( and WW-1370 ), it 
is usable.

Storage of wiring information in annotations is a nice
idea, but not really flexible ( Is it posssible to
manipulate annotations on a class, or are they bound
at compile time? ) 

Pico uses "component adapters" instead, which can be
( and usually are ) chained to specify some really
weird behaviour like:

(constructor injection) -> (parameters via setter) ->
( aop) -> (cache/threadlocal)

There are a lot of such  adapters also for remote
access ( just register it with interface and backend
url,  and your action gets webservice bean injected
without knowing it )  etc. The same would work with
ejb / jndi lookup or whatever.

So, there is definitely no need to invent yet another
DI container for xwork unless you have fun of it ;)


> Have you got a blog? Maybe blog about your findings
> would be nice. I'll definitely subscribe to it. 

not yet. being a hausmate I'm definitely enitled to
one
at blogs.codehaus.org, but I did not figured out how 
to activate it yet ;)

If you go to javapolis, we can surely met at dinner ;)

regards,


----[ Konstantin Pribluda http://www.pribluda.de ]----------------
Still using XDoclet 1.x?  XDoclet 2 is released and of production quality.
check it out: http://xdoclet.codehaus.org


 
____________________________________________________________________________________
Sponsored Link

Mortgage rates near 39yr lows. 
$420k for $1,399/mo. Calculate new payment! 
www.LowerMyBills.com/lre

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [s2][OT] Guice rocks

Posted by tm jee <tm...@yahoo.co.uk>.
Hi Konstantin, 

Thx for the reply. If you have any finding, I'd be glad to learn more about it. I am kindof interested in this area as well. But i am still a beginner so I might talk nonsense... :P

Have you got a blog? Maybe blog about your findings would be nice. I'll definitely subscribe to it. 

Cheers.



Konstantin Priblouda <kp...@yahoo.com> wrote: 

--- tm jee  wrote:

> Hi Konstantin, 
> 
> Its at http://code.google.com/p/google-guice/
> 
> Enjoy Guice. Its Guice time !!!!   :-)

Not sure whether I will be enjoying it, but I 
will try to understand why it is better thank 
pico/nano or spring. 

regards,

----[ Konstantin Pribluda http://www.pribluda.de ]----------------
Still using XDoclet 1.x?  XDoclet 2 is released and of production quality.
check it out: http://xdoclet.codehaus.org


 
____________________________________________________________________________________
Sponsored Link

Compare mortgage rates for today. 
Get up to 5 free quotes. 
Www2.nextag.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org



 		
---------------------------------
 Try the all-new Yahoo! Mail . "The New Version is radically easier to use" – The Wall Street Journal

Re: [s2][OT] Guice rocks

Posted by Konstantin Priblouda <kp...@yahoo.com>.

--- tm jee <tm...@yahoo.co.uk> wrote:

> Hi Konstantin, 
> 
> Its at http://code.google.com/p/google-guice/
> 
> Enjoy Guice. Its Guice time !!!!   :-)

Not sure whether I will be enjoying it, but I 
will try to understand why it is better thank 
pico/nano or spring. 

regards,

----[ Konstantin Pribluda http://www.pribluda.de ]----------------
Still using XDoclet 1.x?  XDoclet 2 is released and of production quality.
check it out: http://xdoclet.codehaus.org


 
____________________________________________________________________________________
Sponsored Link

Compare mortgage rates for today. 
Get up to 5 free quotes. 
Www2.nextag.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [s2][OT] Guice rocks

Posted by tm jee <tm...@yahoo.co.uk>.
Hi Konstantin, 

Its at http://code.google.com/p/google-guice/

Enjoy Guice. Its Guice time !!!!   :-)

Cheers.



Konstantin Priblouda <kp...@yahoo.com> wrote: 

--- tm jee  wrote:

> Hi guys,
> 
> Guice doesn't seem to have a mailing list or forum.
> Does anyone know how to follow up with development /
> news of Guice? 
> 
> It doesn't seem to have a documentation page as
> well, too bad for such a superb project. :P Anyone
> knows about the plans of Guice?

what's the URL? ;)

( google does not find it ;) ) 

regards,

----[ Konstantin Pribluda http://www.pribluda.de ]----------------
Still using XDoclet 1.x?  XDoclet 2 is released and of production quality.
check it out: http://xdoclet.codehaus.org


 
____________________________________________________________________________________
Sponsored Link

Compare mortgage rates for today. 
Get up to 5 free quotes. 
Www2.nextag.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org



 Send instant messages to your online friends http://uk.messenger.yahoo.com 

Re: [s2][OT] Guice rocks

Posted by Konstantin Priblouda <kp...@yahoo.com>.

--- tm jee <tm...@yahoo.co.uk> wrote:

> Hi guys,
> 
> Guice doesn't seem to have a mailing list or forum.
> Does anyone know how to follow up with development /
> news of Guice? 
> 
> It doesn't seem to have a documentation page as
> well, too bad for such a superb project. :P Anyone
> knows about the plans of Guice?

what's the URL? ;)

( google does not find it ;) ) 

regards,

----[ Konstantin Pribluda http://www.pribluda.de ]----------------
Still using XDoclet 1.x?  XDoclet 2 is released and of production quality.
check it out: http://xdoclet.codehaus.org


 
____________________________________________________________________________________
Sponsored Link

Compare mortgage rates for today. 
Get up to 5 free quotes. 
Www2.nextag.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [s2][OT] Guice rocks

Posted by tm jee <tm...@yahoo.co.uk>.
Hi guys,

Guice doesn't seem to have a mailing list or forum. Does anyone know how to follow up with development / news of Guice? 

It doesn't seem to have a documentation page as well, too bad for such a superb project. :P Anyone knows about the plans of Guice?

tia.

rgds

Don Brown <mr...@twdata.org> wrote: Guice is the love child of our very own Bob Lee of Google.  He wrote it 
for his applications at work that needed a DI library, but needed it to 
be small and very fast (he quotes some strange stat like 150x the speed 
of Spring).  In bug tickets and personal conversions, he hinted that he 
wanted to use it, once it went Open Source, in his new API, so I decided 
to take it a step further and put it at the core of XWork and Struts 2 
now. 

And I agree, it is a very impressive piece of code :)  I'm looking 
forward to finding new ways to use it better as we learn its capabilities.

Don

tm jee wrote:
> Hi guys, 
>
> Sorry, this might be off topic a bit.
>
> Just want to say I really like Guice. Its simple, fast (amazing !!!), well written ...  
>
> I like the code, its so clean and elegant (to me at least). For newbies like me who are still trying to pick up the new features offered by Tiger, Guice is really a nice tutorial (educative) to start off with. Just reading the code teaches me a great deal. Oh.. and the Apis are well thought out, nicely separate between internal and external where only external stuff are expose as public. Its also makes good uses of Tiger's Threading capabilities.... :-)
>
> Simply amazing. Kudos guys. Got to love Guice.
>
> p/s Btw, Don would you mind sharing with us where did you manage to find goodies like Guice? I haven't heard about it until your post, maybe I am just too out-dated .... missing all the fun....
>
> rgds
>
>
>  Send instant messages to your online friends http://uk.messenger.yahoo.com 
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org



 Send instant messages to your online friends http://uk.messenger.yahoo.com 

Re: [s2][OT] Guice rocks

Posted by Don Brown <mr...@twdata.org>.
Guice is the love child of our very own Bob Lee of Google.  He wrote it 
for his applications at work that needed a DI library, but needed it to 
be small and very fast (he quotes some strange stat like 150x the speed 
of Spring).  In bug tickets and personal conversions, he hinted that he 
wanted to use it, once it went Open Source, in his new API, so I decided 
to take it a step further and put it at the core of XWork and Struts 2 
now. 

And I agree, it is a very impressive piece of code :)  I'm looking 
forward to finding new ways to use it better as we learn its capabilities.

Don

tm jee wrote:
> Hi guys, 
>
> Sorry, this might be off topic a bit.
>
> Just want to say I really like Guice. Its simple, fast (amazing !!!), well written ...  
>
> I like the code, its so clean and elegant (to me at least). For newbies like me who are still trying to pick up the new features offered by Tiger, Guice is really a nice tutorial (educative) to start off with. Just reading the code teaches me a great deal. Oh.. and the Apis are well thought out, nicely separate between internal and external where only external stuff are expose as public. Its also makes good uses of Tiger's Threading capabilities.... :-)
>
> Simply amazing. Kudos guys. Got to love Guice.
>
> p/s Btw, Don would you mind sharing with us where did you manage to find goodies like Guice? I haven't heard about it until your post, maybe I am just too out-dated .... missing all the fun....
>
> rgds
>
>
>  Send instant messages to your online friends http://uk.messenger.yahoo.com 
>   


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org