繁体   English   中英

如何在MVP中创建演示者?

[英]How is the presenter created in MVP?

我正在查看MVP的google示例,并将视为活动onCreate中的最后一条语句:

new TaskDetailPresenter(  
                taskId,  
                Injection.provideTasksRepository(getApplicationContext()),  
taskDetailFragment);

这段代码对我来说很奇怪。
它实例化了一个本地对象( TaskDetailPresenter ),该对象没有在任何地方分配,并且将片段与演示者相关联。
此处定义的类
这真的应该完成吗? 因为对我来说这似乎不是一个好习惯

TaskDetailPresenter构造函数中,它们具有:

mTaskDetailView.setPresenter(this);

因此,presenter对象将传递到片段(MVP中的“视图”)。 该片段存储了对演示者的引用。 可以-View可以通过此配置轻松与其演示者进行通信。

但是他们在这里使用的技巧-在构造函数完成之前调用setPresenter(this)是一件坏事。 在这里,您可以找到有关此问题的说明: http : //www.javapractices.com/topic/TopicAction.do?Id=252

如果该引用仅保存到属性中并且所有事情都在一个线程中发生,那可能没问题。 但是将来可能会发生某些变化,我们可能会遇到麻烦。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM