Model-view-presenter

Model-view-presenter,簡稱MVP,是電腦軟件設計工程中一種對針對MVC模式,再審議後所延伸提出的一種軟件設計模式。

模式描述 編輯

Model-View-Presenter (MVP)用戶介面設計模式的一種,被廣泛用於便捷自動化單元測試和在呈現邏輯中改良分離關注點(separation of concerns)。

  • Model 定義用戶介面所需要被顯示的資料模型,一個模型包含着相關的業務邏輯。
  • View 視圖為呈現用戶介面的終端,用以表現來自 Model 的資料,和用戶命令路由再經過 Presenter 對事件處理後的資料。
  • Presenter 包含着元件的事件處理,負責檢索 Model 取得資料,和將取得的資料經過格式轉換與 View 進行溝通。

MVP 設計模式通常會再加上 Controller 做為整體應用程式的後端程式工作。

實作 編輯

Java 編輯

JavaAWT/Swing/SWT)應用程式裏,MVP模式可以透過讓用戶介面類別實行視圖介面(view interface)來運作。

相同的方法可以用在Java根基於網頁的應用程式,因為現代Java根基於元件的網頁框架允許使用和胖客戶端(thick clients)相同的逐項佈置法(component approach)客戶端邏輯的開發。

Google Web Toolkit裏使用MVP只需要一些元件實行視圖介面。相同的方法在Echo2網頁框架裏也能使用。

Google Web Toolkit - MVP 編輯

  1. Google Web Toolkit 結構:Best Practices For Architecting Your GWT App[1]
  2. Large scale application development and MVP [2]
  3. gwt-presenter[3]

參考資料 編輯

  1. ^ Google Web Toolkit Architecture: Best Practices For Architecting Your GWT App. [2010-10-08]. (原始內容存檔於2013-10-19). 
  2. ^ Large scale application development and MVP. [2010-10-08]. (原始內容存檔於2010-12-31). 
  3. ^ gwt-presenter. [2010-10-08]. (原始內容存檔於2016-01-15). 

參見 編輯

外部參考 編輯