mvp是使用者介面的架構模式,旨在促進自動化單元測試,並改善表達邏輯中的關注點分離(the separation of concerns)。
通常view的實現例項化具體的presenter物件,並向其(the presenter)提供自身(the view)的引用。下文中的c#**演示了乙個簡單的view構造,這裡concretedomainpresenter實現了idomainpresenter介面:
public
class domainview:idomainview
}
view中能容許的邏輯度在不同的實現中是不同的。極端情況下,view是完全被動的,將所有的互動操作交給presenter.在這種構想中,當使用者觸發乙個view的事件方法,它除了呼叫presenter的乙個無參無返回值的方法外不做任何事,然後presenter通過view介面定義的方法從view中檢索資料,最後presenter對model進行操作,使用互動結果更新view.
其他版本的model-view-presenter允許某個緯度對特定的互動、事件和命令進行處理。這通常更適合於基於web的結構中,這種結構中,view在使用者瀏覽器上執行,可能是處理互動命令的最佳場所。
從view的分層角度來看,presenter類可能屬於多層結構系統中的應用層,但它也可視為它自己在應用層和使用者介面層之間的展示層。
備戰面試 MVP應用架構模式
在android開發中,activity並不是乙個標準的mvc模式中的controller,它的首要職責是載入應用的布局和初始化使用者 介面,並接受並處理來自使用者的操作請求,進而作出響應。隨著介面及其邏輯的複雜度不斷提公升,activity類的職責不斷增加,以致變得龐大臃腫。mvp從更早的mvc框...
MVC 架構模式
mvc架構模式 模型 檢視 控制器 model view controller 模型 模型代表應用程式的資料以及用於訪問控制和修改這些資料的業務規則,當模型發生改變時,它會通知檢視,並為檢視提供查詢模型相關狀態的能力.同時,它也為控制器提供訪問封裝在模型內部的應用程式功能的能力.檢視 檢視用來組織模...
常用架構模式
根據維基百科中的定義 架構模式是乙個通用的 可重用的解決方案,用於在給定上下文中的軟體體系結構中經常出現的問題。架構模式與軟體設計模式類似,但具有更廣泛的範圍。在本文中,將簡要地解釋以下10種常見的體系架構模式,以及它們的用法 優缺點。分層模式 客戶端 伺服器模式 主從裝置模式 管道 過濾器模式 模...