欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
MVP——Model-Viewer-Presenter

Introduction

這里的MVP不是微軟的那個(gè)MVP,而是一個(gè)設計模式Model-Viewer-Presenter。最早(2000年)由IBM開(kāi)發(fā)出來(lái)的一個(gè)針對C++Java的編程模型,它是MVC模式的變種。其目的就在于提供a cleaner implementation of the Observer connection between Application Model and view。

MVP

在企業(yè)應用中,對用戶(hù)有用的是各種數據,他們通過(guò)UI以各種不同的方式管理這些數據。對于開(kāi)發(fā)者而言,需要給用戶(hù)提供各種UI,通過(guò)響應用戶(hù)操作UI時(shí)觸發(fā)的各種Event來(lái)執行一定的業(yè)務(wù)邏輯,從而操控數據,數據變化后還需要更新顯示,給用戶(hù)予以提示。UI是容易變化的,且是多樣的,一樣的數據會(huì )有N種顯示方式;業(yè)務(wù)邏輯也是比較容易變化的。為了使得Application具有較大的彈性,我們期望將UI、邏輯(UI的邏輯和業(yè)務(wù)邏輯)和數據隔離開(kāi)來(lái),而MVP是一個(gè)很好的選擇。

Model

MVC中的Model是一樣的含義——The Domain Data,包括SelectionCommand。

圖:



Viewer

呈現Model,且處理UI的事件(Handle UI Event)。

Presenter

代替了Controller,它比Controller擔當更多的任務(wù),也更加復雜。Presenter處理事件,執行相應的邏輯,這些邏輯映射到ModelCommand以操作Model。那些處理UI如何工作的代碼基本上都位于Presenter。Presenter如同一個(gè)樂(lè )隊的指揮家,表現和協(xié)調整個(gè)Application,它負責創(chuàng )建和協(xié)調其它對象。

 

ModelView使用Observer模式進(jìn)行溝通;而PresenterView則使用Mediator模式進(jìn)行通信;Presenter操作Model則使用Command模式來(lái)進(jìn)行。從上面我給的鏈接MVP中可以找到講解MVPPDF文件,該文檔中詳細說(shuō)明了MVP的設計思想。

如果想知道MVCMVP有什么不同,那可以看這里。

Example

光看理論還不能掌握一個(gè)架構模式,得看看實(shí)際的例子才行,我在codeproject上發(fā)現一篇不錯的文章《Model View Presenter with ASP.NET》,作者指出了ASP.NETcode-behind編程模型的各種缺點(diǎn),然后講解了如何將MVP應用到ASP.NET Application中,而無(wú)須使用復雜的Framework。

更多的例子:

http://www.mattberther.com/2005/01/000589.html

http://codebetter.com/blogs/jeremy.miller/articles/129546.aspx

http://weblogs.asp.net/pgreborio/archive/2005/01/07/348021.aspx

http://msdn.microsoft.com/msdnmag/issues/06/08/DesignPatterns/default.aspx

如果不介意看smalltalk的話(huà)(其實(shí)關(guān)鍵是思想):

http://www.object-arts.com/docs/index.html?modelviewpresenter.htm

http://www.mimuw.edu.pl/~sl/teaching/00_01/Delfin_EC/Overviews/ModelViewPresenter.htm

另外還有一個(gè)Jean-Paul TV。
http://weblogs.asp.net/bsimser/archive/2006/07/18/Model_2D00_View_2D00_Presenter-Pattern-with-SharePoint-Web-Parts.aspx

Postscript

MVC模式幾乎是人人都知道的,但MVP似乎知名度小得多,很少有人提及。其實(shí)Martin Fowler講解過(guò)該模式。雖然它創(chuàng )建之初是為了針對C++Java的,但在象C#這樣的語(yǔ)言中也一樣可以應用它。使用MVP后,我們可以提高對ModelPresenter的復用,比如可以對ModelPresenter不做修改,而能提供ASP.NET Web Form Windows Form??傊?,MVP是一個(gè)值得去研究的架構模式。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
MVC和MVP的區別
MVC、MVP以及Model2[下篇]
【翻譯】MVC vs. MVP vs. MVVM
MVC, MVP, MVVM比較以及區別
MVP模式
MVC,MVP 和 MVVM 的圖示
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久