[英]Confusion about MVP pattern Android
我經歷了近2.5年的Android開發人員,他在Activity類中編寫所有代碼都很簡單。
最近我遇到了許多關於開發的好東西,這將使開發人員生活變得非常棒。
我學到了什么(至少從項目開始)
改造
RxJava / RxAndroid
我對MVP的困惑是什么?
有些人遵循代碼風格
但是,我跟着
很多人說Logics(if..else)應該只用Interactor編寫。 您的視圖(活動),Presenter不應包含(If else語句)應用程序邏輯。
在Medium
上發現了許多教程,人們可以做任何事情。 他們在Presenter中編寫半應用邏輯,在Interactor中休息
我試圖遵循在Interactor中編寫每個應用程序登錄的第一選項
但有一種情況我很困惑在哪里寫app登錄
在兩個用例中,
- onActivityResult
- onRequestPermission
我以一種方式區分邏輯,如果該邏輯在UI上做任何事情 - UI邏輯 (例如:更新文本,顯示對話框,動畫等)屬於Activity / Fragment。 因為你只是在那個Activity / Fragment上,所以你可以立即調用它。
如果您需要操作任何業務邏輯,例如:更新數據庫,網絡請求/響應等。您可能需要通過Presenter調用它。 例如:
presenter.getDataFromTheWeb()
- 使用第二個活動中的數據從1st Actiity通過Intent.putExtras獲得(我總是在第二個活動的OnCreate()中使用)
要在Activity / Fragment中檢索數據,請使用附帶其Activity / Fragment的getArgument() 。 這樣您在Activity類中檢索數據才有意義。
總的來說,MVP是解除視圖邏輯/應用程序邏輯和業務邏輯的一種很好的方式,也可以幫助您更輕松地測試您的應用程序。 但是,使用正確的模式取決於您解決的特定問題。 如果您的業務邏輯也很復雜,則需要Interactor模式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.