[英]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.