asp.net MVC和MVP之间的区别?他们俩都一样吗?

Dal*_*ton 13 mvp asp.net-mvc

我想知道asp.NET MVC和MVP之间的区别,它们是否相同?下面是我提到的架构图.

(图片网址:http://msdn.microsoft.com/en-us/library/ff647859.aspx)

MVC与MVP

我从图中看到MVC和MVP之间的主要区别是,在MVC中模型更新视图,在MVP中,Presenter更新视图.

但这是我的困惑.Below是一个asp.net MVC代码示例.

public class HomeController : Controller
    {
        //
        // GET: /Home/

        public ActionResult Index()
        {
            return View();
        }

    }
Run Code Online (Sandbox Code Playgroud)

这里Controller返回/更新视图,所以现在根据图表它是MVP

asp.net mvc和MVP是否相似?如果没有什么区别?有人可以指导我.

Vah*_*eri 7

实际上MVP是MVC模式的一个子集.

在您的asp.net mvc示例中,控制器不会更新视图,而只是将模型传递给视图,视图会根据模型进行更新.

但是在MVP(通常与Microsoft堆栈中的winforms和webforms一起使用)中,演示者从视图中获取数据,更新模型以及模型更改时,演示者将读取模型并更新视图.