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(AWT/Swing/SWT)應用程式裏,MVP模式可以透過讓用戶介面類別實行視圖介面(view interface)來運作。
相同的方法可以用在Java根基於網頁的應用程式,因為現代Java根基於元件的網頁框架允許使用和胖客戶端(thick clients)相同的逐項佈置法(component approach)客戶端邏輯的開發。
在Google Web Toolkit裏使用MVP只需要一些元件實行視圖介面。相同的方法在Echo2網頁框架裏也能使用。
- Google Web Toolkit 結構:Best Practices For Architecting Your GWT App[1]
- Large scale application development and MVP [2]
- gwt-presenter[3]
參考資料
參見
外部參考
Wikiwand - on
Seamless Wikipedia browsing. On steroids.