2
我一直在閱讀MVC vs MVP,經常做的一點是MVC與MVP在處理用戶輸入方面的區別。在MVC vs MVP中如何處理用戶輸入?
在MVP中,視圖將用戶輸入委託給演示者,而在MVC中,控制器應該是管理用戶輸入的應用程序的唯一部分。
這對我來說似乎有點奇怪。我從來沒有遇到過一個GUI框架,我不必將視圖中提出的事件(主要是某種小部件)委託給其他位置,以根據引發的事件執行某些操作。
如果是這樣的話,MVC和Supervising Controller之間還有區別嗎?
我應該補充說我只是在談論非web應用程序。也許這是一件好事,MVP越來越成爲桌面應用程序結構模式的流行術語,因爲現在MVC與Web開發方式有很大關係。 –
確切地說,就桌面應用而言,它取決於您使用的技術類型。如果它是Windows Form應用程序,MVP是最合適的,而對WPF和Silverlight等技術來說,MVVM更合適。一般來說,如果您的UI技術中有綁定功能,MVVM是更好的選擇。 – akazemis
最後MVP及其所有變體(我將MVVM稱爲MVP變體)使用不同的機制做同樣的事情。我剛剛在一些網站的問題中遇到了這樣的定義,即將MVP與通過Smalltalk社區流行的MVC模式進行比較,並且有點困惑。 –