Guice - это структура внедрения зависимостей. При использовании Java вы должны определенно учитывать структуру внедрения зависимостей (DI). DI может сэкономить вам много кода для (сетевой) безопасности / аутентификации, управления транзакциями, ведения журналов, доступа к базе данных и получения более чистого кода.
В качестве альтернативы вы можете рассмотреть Spring. Guice есть, или, по крайней мере, его было проще использовать, поскольку он не слишком полагался на XML, но Spring догнал его с последней версии (с использованием аннотаций, javaconfig и т. Д.).
В любом случае, используйте DI-фреймворк поверх собственного кода фабрики, кода платформы транзакций (транзакция. Транзакция, наконец, и т. Д.), Одиночных кодов (например, статических методов getInstance) и т. Д.