回覆列表
  • 1 # 丘處雞

    MVP,全稱 Model-View-Presenter 。

    MVP模式是MVC模式的改良。在上個世紀90年代,IBM旗下的子公司Taligent在用C/C++開發一個叫CommonPoint的圖形介面應用系統的時候提出來的。

    在MVP模式裡通常包含4個要素:

    (1) View :負責繪製UI元素、與使用者進行互動(在Android中體現為Activity);

    (2) View interface :需要View實現的介面,View透過View interface與Presenter進行互動,降低耦合,方便進行單元測試;

    (3) Model :負責儲存、檢索、操縱資料(有時也實現一個Model interface用來降低耦合);

    (4) Presenter :作為View與Model互動的中間紐帶,處理與使用者互動的負責邏輯。

    優點:

    1、降低耦合度,實現model和view的分離,可以修改view而不影響m層。

    2、模組職責劃分明確,層次清晰。

    3、presenter可以複用。

    4、利於進行單元測試。

    5、view可以進行元件化。

    缺點:

    1、presenter中除了邏輯,還有大量的view ->model, model ->view的手動同步邏輯,使得presenter笨重,維護困難。

    2、試圖和presenter互動過於頻繁。

    3、presenter過多的渲染檢視,會讓他們聯絡更緊密。

    4、額外的程式碼量和學習成本。

    所以,如果是小專案工程,沒有必要使用mvp,如果為了以後更好的架構,建議學習之後,再重構。

  • 中秋節和大豐收的關聯?
  • 福特銳界有必要做隔音和改音響嗎?