MVP。如何在模型之间传递数据?

时间:2017-01-14 21:02:01

标签: android model mvp

我正在学习MVP结构,我想弄明白:

  • 如何在模型之间传递数据?

每个模型代表一个动作,如果我需要从一个动作发送数据    模型到另一个,我怎么能正确地做到这一点?我应该传递数据吗?    通过演示者,比如

firstModel -> commonPresenter -> secondModel

OR

在模型之间发送数据,例如

firstModel -> secondModel?

如果这些模型与不同的演示者互动会怎么样?

2 个答案:

答案 0 :(得分:0)

模型视图Presenter模式与大多数架构模式一样,对实验非常开放。要记住的重要一点是将View与域逻辑和数据处理分开。

特别是在Android中,尽可能将代码保留在活动和碎片等特定于框架的类中是很有用的。

根据我的经验,让模特彼此之间进行交流是最好的,作为彼此的观察者。对于视图和演示者,或者通常,同一架构层中的任何组件都是如此。

答案 1 :(得分:0)

AFAIK你必须在演示者中将你的域模型转换为你的Ui模型,所以你必须在演示者中调用这样的方法或构造函数:

ModelOne modelOne = new ModelOne(modelTwo);

请考虑DRY主体,不要像演示这样

分配演示者本身的每个字段
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/