2 апр. 2010 г.

Google Guice, начало.

Отступление - по звучению напоминает Урфин-Джус из какой-то там части сказки "Изумрудный город".
Guice - Java-библиотека, помогающая использовать стиль программирования внедрение зависимостей (Dependency injection).
В самом простом случае - вам нужно иметь ссылку на какой-то определенный объект (например настройки) в разных частях программы.
public class Settings {     
   static int count = 0;      
   int getVersion()     {         
       ++count;         
       return count;     
   } 
}  
Раньше я это решал методом создания статического класса и прописывания всех настроек в статических полях этого класса.
Это в общем-то не доставляет неудобств, если не нужно проводить модульного тестирования программы с разными настройками или где-то иметь немножко другие настройки, но зато это самый простой пример использования инъекций.
Чтобы иметь этот класс у себя обычным образом нужно создать новый объект
Settings settings = new Settings();  
Что нужно сделать, чтобы создать этот объект через Guice? 1. Нужно создать объект-инъектор 2. Чтобы создать объект-инъектор нужна реализация класса AbstractModule. Для этого нужно переопределить метод configure. Для начала реализация будет самой простой - пустой.

public class GuiceModule extends AbstractModule {
 @Override
 protected void configure() {
 }
}
(Недописано, т.к. думаю что не особо нужно - я разобрался и примеры есть. У кого будет потребность - оставьте комментарий, статью допишу)

1 комментарий: