gpt4 book ai didi

java - MVP 中的演示者是如何创建的?

转载 作者:行者123 更新时间:2023-12-02 01:57:25 26 4
gpt4 key购买 nike

我正在查看 MVP 的 google 示例,我看到 this作为 Activity 的 onCreate 中的最后一个语句:

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

这段代码对我来说似乎很奇怪。
它实例化一个本地对象( TaskDetailPresenter ),该对象未分配到任何地方,并且在其中关联 fragment 。与主持人一起。
定义的类 here
这真的是应该做的吗?因为这对我来说似乎不是一个好的做法

最佳答案

TaskDetailPresenter 构造函数中,它们有:

mTaskDetailView.setPresenter(this);

因此演示者对象被传递给片段(MVP 中的“View”)。该片段存储对演示者的引用。这没问题 - View 可以通过此配置轻松与其演示者通信。

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

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

关于java - MVP 中的演示者是如何创建的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52120658/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com