2017-01-14 9 views
0

Я изучаю MVP структуру, и я пытаюсь выяснить:MVP. Как передавать данные между моделями?

  • Как передавать данные между моделями?

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

firstModel -> commonPresenter -> secondModel 

ИЛИ

передачи данных между моделями, как

firstModel -> secondModel?

А что, если эти модели взаимодействуют с различными ведущими?

ответ

0

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

В частности, в Android полезно сохранить код как можно дальше от классов Framework, таких как Activities и Fragments.

По моему опыту, лучше всего позволить Модам общаться между собой, как Наблюдатели друг друга. То же самое относится к представлениям и презентаторам, или, вообще, к любому компоненту в том же архитектурном слое.

0

AFAIK вы должны преобразовать ваши модели домена для вашей модели Ui в ведущем, так что вы должны вызвать метод или конструктор, как это в ведущем:

ModelOne modelOne = new ModelOne(modelTwo); 

Пожалуйста, обратите внимание СУХИЕ принципалов и не назначайте каждое поле в самом ведущем, как этого

modelOne.title = modelTwo.title; 
modelOne.id = modelTwo.id; 

, но если вы хотите преобразовать уровневую модель домена на другую модель слоя домена вы должны сделать это в других слоях. прочитать для получения дополнительной информации: http://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/

«ведущий общается с моделью слоя, преобразует данные в UI в формате, удобном и обновляет вид» также вы можете найти предложения выше в этой ссылке: http://iyadagha.com/using-mvp-ios-swift/