Simple answer: have one module per package and bind only the classes implemented in the corresponding package with each module. Of course there will be exceptions. Then build top-level modules that exist primarily to install your implementation-based modules. For instance you might have a ServerModule that installs the modules that a server depends on. That is the module you'd use to create the Injector.
This is the same design I've been using, works well thus far.
>
>> On Aug 19, 2011 2:36 PM, "Efi Merdler" <efi.merd...@gmail.com> wrote:> What are the best practices for using modules:
>> > 1. Should I define all my bindings in a single module ?
>> > 2. In case not how would you suggest separating them ?
>