2010-07-16 2 views
4

Я недавно изучал Guice в университетском курсе и видел Google I/O video about it. В видеоролике они заявляют, что используют его в каждом проекте Google, включая Wave и т. Д. Мне было интересно - действительно ли Guice это вездесущий? Это действительно обязательное знание для программистов в Java? Должен ли я всегда использовать его на заводе?Когда и где использовать инъекцию зависимостей с помощью Guice?

Thanks

ответ

4

Действительно ли это, что вездесущий? Это действительно обязательное знание для программистов в Java?

Вне Google - нет, не совсем. Я не говорю, что это не хороший продукт, он просто не очень широко используется сейчас. Существуют и другие, более установленные рамки, которые обеспечивают инъекцию зависимостей, например Spring или EJB. Главное отличие состоит в том, что Guice только делает зависимость инъекции.

Должен ли я всегда использовать его на заводе?

Конечно, нет. Инъекционная инъекция - полезный образец, но, как и все полезные инструменты, есть правильное и неправильное время для его использования.

5

Guice - основа для инъекций зависимостей. При использовании Java вы должны обязательно учитывать инфраструктуру инъекций зависимостей (DI). DI может сэкономить вам много кодовых табличек кодов для (веб) безопасности/аутентификации, управления транзакциями, протоколирования, доступа к базам данных и результатов в более чистом коде.

В качестве альтернативы вы можете рассмотреть Spring. Guice, или, по крайней мере, был проще в использовании, так как он не слишком полагался на XML, но Spring догнал последнюю версию (используя аннотации, javaconfig и т. Д.).

Ну, в любом случае, используйте каркас DI по вашему собственному заводскому коду, код транзакционной ковшей (транзакция.старт, фиксация, наконец .. и т. Д.), Однотонные (например, статические методы getInstance) и т. Д.

Смежные вопросы