1. 程式人生 > >MVP模式

MVP模式

type res 部分 處理 cor sof 似的 androi size

在傳統的Android開發中,我們一般是使用MVC模式進行開發的。 傳統MVC模式介紹:
  1. View: 視圖層,對應xml文件
  2. Controller: 控制層,對應Activity和Fragment層,進行數據處理
  3. Model:實體層,負責獲取實體數據
在Android開發中采用MVC模式的一個最大的弊端就是xml作為View層視圖能力實在太弱,所以一般情況下我們都是通過Controller層來輔助處理一些視圖的。這樣的結果就導致Controller既作為控制層的同時又承擔了View層的大部分功能,采用MVC模式往往會導致Activity和Fragment中的代碼非常復雜。我們將Android中采用的MVC模式稱為MV模式更加恰當。 MVP模式介紹:
  1. View: 視圖層,對應xml文件與Activity/Fragment
  2. Presenter: 邏輯控制層,同時持有View和Model對象
  3. Model: 實體層,負責獲取實體數據
采用MVP模式的優勢是:
  1. 把業務邏輯抽離到Presenter層中,View層專註於UI的處理。
  2. 分離視圖邏輯與業務邏輯,達到解耦的目的。
  3. 提高代碼的閱讀性。
  4. Presenter被抽象成接口,可以根據Presenter的實現方式進行單元測試。
  5. 可拓展性強。
采用MVP模式的缺點:
  1. 項目結構會對後期的開發和維護有一定的影響。具體視APP的體量而定。
  2. 代碼量會增多,如何避免編寫過多功能相似的重復代碼是使用MVP開發的一個重點要處理的問題。
  3. 有一定的學習成本。
綜上所述,在Android上采用MVP模式的優勢是:大大優化代碼的維護性與拓展性的同時對代碼進行深度解耦,使各個層級的分工更加明晰。

MVP模式