Size: a a a

2019 April 19

K

Kirill Vasiliev in Dagger 2
думаю провайдить элементы с жизненным циклом - плохая идея)
источник

K

Kirill Vasiliev in Dagger 2
которые еще и контекст держат )
источник

AP

Anton Potekhin in Dagger 2
А вот возник такой вопрос. Например у меня есть AppModule в котором есть некий provide.
@Provides
@Singleton
Foo provideFoo() {
   try {
        return Builder.buildFoo();
   } catch (Exception ex) {
      return null;
  }
}

И вот в buildFoo произошел Exception и provide вернул null. Так вот что делать в таком случает. Например если я хочу если получил null через какое-то время опять попробовать создать Foo ?
источник

AP

Anton Potekhin in Dagger 2
Пока вижу создание некий класс wrapper который будет в себе содержать Foo и провайдить этот wrapper. И внутри wrapper по методу getFoo пытатся созать Foo и потом его хранить Foo как static
источник

AP

Anton Potekhin in Dagger 2
Но это какой-то кастыль получается...
источник

VK

Vitaly Kirillov in Dagger 2
Provider<Foo>?
источник

AP

Anton Potekhin in Dagger 2
Vitaly Kirillov
Provider<Foo>?
Но мне нужен Singleton. А насколько я понимаю при каждом get() у provider будет возвращатся новый экземпляр Foo
источник

VK

Vitaly Kirillov in Dagger 2
Anton Potekhin
Но мне нужен Singleton. А насколько я понимаю при каждом get() у provider будет возвращатся новый экземпляр Foo
А там уже ручками обрабатывать)
источник

AP

Anton Potekhin in Dagger 2
Vitaly Kirillov
А там уже ручками обрабатывать)
Но в данном случае зачем мне тогда dagger ;) так я могу в Foo сделать метод getInstance и рулить им...но так не интересно ;)
источник

VK

Vitaly Kirillov in Dagger 2
Не уверен, что даггер сможет такой кейс обработать. Придётся скорее всего какой-то холдер писать.
источник

AP

Anton Potekhin in Dagger 2
Vitaly Kirillov
Не уверен, что даггер сможет такой кейс обработать. Придётся скорее всего какой-то холдер писать.
наверное да. Похоже это не из области даггера
источник

SV

Sviat Volkov in Dagger 2
Anton Potekhin
Но мне нужен Singleton. А насколько я понимаю при каждом get() у provider будет возвращатся новый экземпляр Foo
Lazy<Foo> будет на каждый get() возвращать один инстанс. но тут скорее проблема в том, что билдер ваш должен без ексепшна отрабатывать
источник

D

Dmitry in Dagger 2
Здравствуйте. При реализации MVP , презентеру нужна ссылка на View, в которое инжектится презентер. Получается нужно использовать модуль с презентером, модуль с предоставлением View, но предоставлять View через Dagger это же плохо?
источник

AP

Anton Potekhin in Dagger 2
Sviat Volkov
Lazy<Foo> будет на каждый get() возвращать один инстанс. но тут скорее проблема в том, что билдер ваш должен без ексепшна отрабатывать
Ну да. При exception насколько я понимаю он вернет null и потом продолжит null возвращать
источник

SV

Sviat Volkov in Dagger 2
да
источник

AP

Anton Potekhin in Dagger 2
короче пошел уже сам без dagger делать обертку.
источник
2019 April 22

VP

Vitaly Peryatin in Dagger 2
Как лучше инжектить зависимости? Преимущественно через модули или там где это возможно инжектить через конструкторы?
источник

VP

Vitaly Peryatin in Dagger 2
Как по мне инъекция в модулях привносит следующие плюсы: все зависимости лежат в одном месте
И минусы: порой много кода разрастается, который был бы гораздо меньше в случае с конструкторами
источник

SV

Sergey Vasilchenko in Dagger 2
Vitaly Peryatin
Как лучше инжектить зависимости? Преимущественно через модули или там где это возможно инжектить через конструкторы?
вариант 2
источник

SV

Sergey Vasilchenko in Dagger 2
источник