Android使用MVP時應該注意的問題


  • 生命周期:因為Presenter是View創建的,我們需要確保完全地理解View的生命周期,特別是因為它將最有可能去處理狀態更新和異步數據。舉個例子,每一個Presenter應該在View destroyed的情況下有一個取消異步任務的方式,或者應該在用戶暫停或者恢復視圖事件時重置到原始狀態等等。最后但同樣重要的是,當View已經被銷毀,試圖從Presenter去更新View元素,始終需要注意可怕的NPEs。

  • 保持Views盡可能地愚蠢:我們的Views應該不再包含任何業務相關的邏輯。它應該只包含Android框架inflate和設置View的這些最低限度的東西。任何用戶交互應該派發到Presenter。根據經驗,如果你的views有任何其它方法去更新UI元素或者響應用戶觸發的事件,那么你可能應該去檢查它們的實現。

  • 保持Presenter盡可能地純粹:這一點,我們的意思時你應該盡可能地避免有Android相關的代碼在你的presenters中。為這些組件編寫純粹的單元測試,而不需要使用其它如Robolectric等測試框架,這明顯地得到了簡化。這明顯說起來比做起來容易得多,因為你終歸會在某些地方遇到這種情況,舉個例子,你將需要有一個Context的引用用來比如數據加載、訪問strings文件等等。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com