[英]MVP Implementation in Android
MVP中Application的目錄結構是什么?
活動應該是Presenter還是View?
如果您正在尋找實現MVP的一個很好的例子,那么有一個Android本身為MVP開發的GitHub Repo 。 您應該研究的。
哪里
盡管MVP架構有很多實現,但是它們都有一個基本概念(或者至少應該如此),這將業務邏輯與您的視圖(活動,片段,對話框)分開。 這是為什么? 好吧,主要有兩個原因:
關於您的問題:
MVP中Application的目錄結構是什么?
除應識別您的MVP組件外,沒有其他規則。 在這里,您有一篇文章是從包結構開始的,但后來我發現其他更方便的了。
活動應該是Presenter還是View?
您的活動(或片段或負責顯示視圖組件的任何組件)應該是實現您的視圖的活動。
我的建議是,您應該檢查多個示例,並查看每個示例的優缺點,並嘗試從您會更喜歡的示例中定義自己的體系結構。
您可以將“ Activity
或“ Fragment
用於“ 視圖”層。 這是因為在android中顯示UI元素需要Context
。
對於Presenter層,必須確保不要通過構造函數或setter將Context
傳遞給Presenter 。 如果您在Presenter中需要Context
來執行除顯示UI之外的任務,例如寫入SharedPreferences
,則可以從View (為Activity
或Fragment
)中獲取它。 這樣,如果View被破壞或變為null
,則Presenter中將沒有獨立的null
Context
導致泄漏問題。
如果您想了解更多有關MVP結構的信息,我已經為Android編寫了一個非常方便的MVP庫 ,並在此處的示例應用程序中說明了其用法。
MVP android示例示例應用程序 MVP Android Example用來解釋如何在我們的Android應用程序中使用此模式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.