可能重複:
What are MVP and MVC and what is the difference?
mvc and mvp pattern過MVP
夥計們,
什麼是一些使用MVC在MVP的好處是什麼?我喜歡我不必爲MVP使用框架,並且可以通過接口和類來實現。我仍然得到MVC關注的分離,並且我得到了單元測試。 MVC使用MVP有什麼好處?
可能重複:
What are MVP and MVC and what is the difference?
mvc and mvp pattern過MVP
夥計們,
什麼是一些使用MVC在MVP的好處是什麼?我喜歡我不必爲MVP使用框架,並且可以通過接口和類來實現。我仍然得到MVC關注的分離,並且我得到了單元測試。 MVC使用MVP有什麼好處?
我根本不知道「MVP」,但哈克[溢出]有一個非常漂亮的文章......
Everything You Wanted To Know About MVC and MVP But Were Afraid To Ask
當時哈克塊交叉鏈接的圖像的風險...哈克說,所不同的是明確的:) alt text http://haacked.com/images/haacked_com/WindowsLiveWriter/MVCandMVPPatternResources_71CE/WinMerge%20-%20%5BMVP.txt%20-%20mvc.txt%5D_3.png
因爲我已經被我的約重複審查的意見,我只想引用這個SO問題,並把它留給了「更高的力量」來關閉,如果他們認爲合適的:P
What are MVP and MVC and what is the difference?
有時候人們會掛在首字母和TLA之上。
如果Phil Haack在他的文章中說的是真的,我以爲我在ASP.NET MVC中使用MVC,但是我真正使用的是MVP(或MVC的調整形式)。
在MVC中,它總是控制器的 負責處理鼠標和鍵盤 事件。使用MVP,GUI 組件本身最初會處理 用戶的輸入,但委託給 演示者的該輸入的解釋。
但這並不是ASP.NET MVC的真正目的。
如果我處理鼠標和鍵盤事件,我喜歡在瀏覽器中使用jQuery來完成它。該將用戶交互與控制器分開,並提供UI層與「業務」層之間更好的解耦。
如果我需要使用AJAX調用或JSON調用來更新我的頁面的一部分,無論如何我仍然需要這樣做,無論我稱之爲MVC還是MVP。
ASP.NET的WebForms,例如, 試圖通過使用 的ViewState的模擬富客戶端 的發展模式。這就是爲什麼許多嘗試 將模式應用於ASP.NET的重點在於 MVP模式,因爲MVP 模式更適合具有GUI 客戶端應用程序和GUI 組件。
然而,許多網絡平臺接受 網絡的無狀態特性和 放棄試圖模擬 狀態,充滿了濃郁的客戶端開發 環境。在這樣的系統中,調整MVC模式更適用於 。
很明顯,Phil將MVC視爲一種更無國籍,更瘦客戶端的舉措,而MVP將更多責任放在UI層上,以提供豐富的用戶體驗。
這是否是件好事是主觀的。如果ASP.NET是MVP並且ASP.NET MVC是MVC,那麼我會很樂意接受MVC的首字母來放棄像viewstate和obtuse邏輯之類的東西。
如果您想要決定的全部原因是什麼,那麼您希望將某個業務層用於Web版本和胖客戶端版本;-) aaak – FastAl 2010-05-17 13:14:38
有趣 - 我以前沒有見過。 – RichardOD 2009-07-30 17:01:01