Создание одного модуля Guice для привязки всех привязок в проекте не является оптимальным, но и создание одного модуля для привязки не является оптимальным.
В общем, вы просто хотите "сгруппировать связанные привязки в модуль". Это скорее искусство, нежели наука, поэтому я не могу дать идеальный совет.
Если ваш проект имеет твердую структуру пакетов Java, то для начала лучше всего создать по одному модулю Guice на пакет (хотя, если ваши пакеты содержат много классов, вам может понадобиться даже несколько пакетов). Использование модулей Guice для каждого пакета также дает вам преимущество, позволяя вам сделать ваши классы реализации закрытыми для пакета (что хорошо для инкапсуляции!).
Один конкретный пример: если у вашего проекта есть внешние зависимости, вероятно, лучше связать их отдельно от кода вашего приложения. Например, если у вас есть веб-сервер, который взаимодействует со службой RPC на другом сервере, хорошо связать службу отдельно от кода, который общается со службой (таким образом, вы можете смоделировать внешнюю службу, не насмехаясь над кодом приложения) .
В качестве костыля вы также можете использовать Modules.override(...)
[1], но это, как правило, признак того, что ваши модули слишком велики.
- http://google -guice.googlecode.com / SVN / багажник / Javadoc / COM / Google / инъекционные / Util / modules.html