Почему MVVM всегда представлен с Dagger? - PullRequest
0 голосов
/ 19 марта 2019

Я новичок в архитектуре MVVM, и во всех документациях, которые я нашел в Интернете, используется Dagger с архитектурой MVVM.Dagger для меня нечеткий стиль, и мне кажется слишком сложным просто создать приложение для Android.Поэтому мои вопросы просты:

  1. Почему я должен / должен использовать кинжал с архитектурой MVVM?И почему Dagger поставляется с архитектурой MVP не так часто, как с архитектурой MVVM?
  2. Можно ли разработать приложение для Android с архитектурой MVVM и без кинжала?

Ответы [ 3 ]

1 голос
/ 19 марта 2019

Я не согласен с людьми, которые говорили, что кинжал - это просто библиотека.

Внедрение зависимостей : это концепция и способ кодирования, и кинжал облегчает использование преимуществ внедрения зависимостей с аннотациями.

Также проект Sun-Flower от Google не использовал кинжал при использовании шаблона MVVM.

0 голосов
/ 20 марта 2019

Внедрение зависимостей - всего лишь идея.

Dagger2 - это библиотека, которая использует обработку аннотаций для помощи с шаблоном внедрения зависимостей.

Даже Джейк Уортон говорит, что Dagger2 может бытьИзбыток для небольших приложений.

Абсолютно возможно разработать приложение MVVM без инфраструктуры DI.Технически вам не нужно DI вообще, но это, как правило, облегчает задачу - особенно в отношении тестирования.

0 голосов
/ 19 марта 2019

Вам не нужен Dagger в архитектуре MVVM или архитектуре MVP - Dagger - это просто библиотека инжектора зависимостей.Вы можете использовать отложенную загрузку в Kotlin сейчас или Koin в качестве замены для Dagger.Не существует зависимости от Dagger для шаблонов архитектуры.

...