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). 

参见[编辑]

外部參考[编辑]