簡體   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