看安卓開發中日常棘手問題用mvp如何解決(2)

注意:針對於我們之前討論的內容,其實存在很多優化地方,今天我們就來討論MVP優化,我們一步步深入研究MVP設計,讓大家體會不一樣的架構設計魅力。

如何實現MVP->優化->優化第1步->抽象類

第一步分析問題:現在寫一個功能,大家覺沒什麼,但是如果我寫了20個類(寫了100個類),那麼大家是不是要綁定(解除綁定)n次了?會想死。目的就是為了不需要這麼麻煩,統一管理即可(統一綁定)

第二步解決方案:抽象類(抽象類->抽取)->BasePresenter

看安卓開發中日常棘手問題用mvp如何解決(2)

第三步實現:下首先將LoginPresenter實現,然後就是BasePresenter實現

看安卓開發中日常棘手問題用mvp如何解決(2)

注意:其餘代碼和第一篇文章一樣,主要是P層方面做了改進

如何實現MVP->優化->優化第2步->泛型設計

首先分析問題:每一次強制類型轉換,想死,一個類還好,100個類,強制類型轉換100次。

提出解決方案:泛型設計

代碼如下

LoginPresenter實現

看安卓開發中日常棘手問題用mvp如何解決(2)

BasePresenter實現

看安卓開發中日常棘手問題用mvp如何解決(2)

LoginView接口

看安卓開發中日常棘手問題用mvp如何解決(2)

. BaseView接口

看安卓開發中日常棘手問題用mvp如何解決(2)

注意:V層中高層次抽象接口

注意:LoginModel和LoginActivity代碼一模一樣,沒有變化,主要是P層方面做了改進

感謝大家關注,希望大家能夠動手試試,這樣也許會發現更多有趣的問題,同時也歡迎廣大Android愛好者給我提問題。這個是我的一點點分享,我在這裡提供一些思路大家相互學習,一起成長推薦下我自己建的安卓學習群:

654759632 都是一群熱愛安卓開發的夥伴大家可以在裡面多交流,會有定期的大神免費直播分享和資料分享


分享到:


相關文章: