2017-01-08 21 views
0

Я знаю, что мы можем реализовать Кинжал 2 для инъекции между Presenter и View, но нам нужна инъекция между M и P? Вы можете объяснить причину?Нужна ли нам инъекция (например, Dagger2) между моделью и презентатором в структуре MVP?

+0

AFAIK, инъекции зависимость не имеет ничего общего с использованием MVP. Вы можете выполнить MVP с или без инъекции зависимости. – Karakuri

+0

@ Каракури, я знаю. Но я все еще не понимаю, лучше ли использовать инъекцию зависимости между моделью и презентатором. – LunarS

+0

Вы можете посмотреть этот образец проекта http://github.com/mmirhoseini/marvel и эту статью https://hackernoon.com/yet-another-mvp-article-part-1-lets-get-to- know-the-project-d3fd553b3e21, чтобы ознакомиться с MVP. –

ответ

0

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

Если рассматривать этот очень хороший пример: https://medium.com/@nurrohman/a-simple-android-apps-with-mvp-dagger-rxjava-and-retrofit-4edb214a66d7#.89j5gtafn вы увидите, что NetworkService (в данном примере это класс модели слоя) вводится в HomePresenter (класс Presenter слоя) кинжалом.

Этот пример также подтверждает это: https://github.com/grandstaish/hello-mvp-dagger-2

+0

Спасибо за помощь. Но я новичок в кинжале, не могу полностью понять пример, у меня есть другой вопрос, чтобы сделать каждый слой независимым, я должен построить 2 конструктора для презентатора? Для презентатора и представления, презентатору требуется экземпляр активности, для презентатора и модели, докладчик требует результата, разумно ли строить такую ​​структуру? Спасибо! – LunarS

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

  • Нет связанных вопросов^_^