2011-01-19 45 views
12

MVC模式中的控制器與MVP模式中的演示者有什麼區別?您能否提供鏈接以瞭解這兩者的優點和使用情況?MVC模式中的控制器與MVP模式中的演示者有什麼區別?

+1

另請參見[什麼是MVP和MVC,有什麼區別?](http://stackoverflow.com/questions/2056/what-are-mvp-and-mvc-and-what-is-the-difference ) – 2011-01-19 09:57:28

回答

6

在MVC中,視圖僅由模型更新(通過監聽其事件)。它永遠不會被控制器更新。當您需要爲視圖格式化模型數據時,這是有問題的,因此需要MVP。

在MVP-Passive View中,視圖僅由演示者(演示者設置視圖屬性)更新。演示者在更新視圖之前偵聽模型上的事件[如果需要修改數據]。

在MVP-Supervising控制器中,視圖由模型或演示者更新。如果不需要格式,視圖將通過模型進行更新。如果需要格式化,則通過演示者進行更新。

相關問題