On 4 Dec 2008, at 00:29, Henning P. Schmiedehausen wrote:

Adam Winer <[EMAIL PROTECTED]> writes:

On Wed, Dec 3, 2008 at 2:12 PM, Kevin Brown <[EMAIL PROTECTED]> wrote:

SocialApiGuiceModule is never usable for production, and it can't be for the simple fact that there's no way to reason about the data store of a given
container.

There's no reason we can't provide a Module that implements the parts
that have sane default bindings.  And putting the sample container
dependencies in a module in o.a.s.social.core.config is way wrong.
Ditto the abuse of @ImplementedBy to tie PersonService, etc. to the
JsonDbOpensocialService.  All that should be in a separate
SampleContainerModule to make it crystal clear to developers the
interfaces they absolutely have to bind for a real, production
container.

+1.

This was all very confusing when I recently started working on Shindig, especially as I had never used Guice before.

I agree that something like a SampleContainerModule would help clarify what is going on and what you need to do to integrate Shindig with your production environment. I am all for convention over configuration but @Implemented By doesn't provide this, so it just ends up being confusing wizardry.

Additionally, up-to-date and easy-to-find documentation on what you should inject, how and why would really help. I'd be happy to work on this..

Cheers,
Ben Smith
BBC

Reply via email to