简述MVC与MVP的区别

MVC概念:
MVC是Model,View,Controller的缩写,分别代表Web应用程序中的3种职责。
(1)Model:用于存储数据以及处理用户请求的业务逻辑;
(2)View:向控制器提交数据,显示模型中的数据;
(3)Controller:根据视图提出的请求,判断将请求和数据交给哪个模型处理,处理后的有关结果交给哪个视图更新显示。

MVP概念:
MVP则是Model,View,Presenter的缩写,MVP模式将Controller改名为Presenter,同时改变了通信方向,MVP是对MVC的进一步改造。
(1)Model:定义使用者接口所需要被显示的资料模型,一个模型包含着相关的商业逻辑;
(2)View:为呈现使用者接口的终端,用以表现来自Model的资料和使用者命令路由再经过Presenter对时间处理后的资料;
(3)Presenter:包含着元件的事件处理,负责检索Model取得资料和将取得资料经过格式转换与View进行沟通。
简述MVC与MVP的区别

二者区别:
(1)在MVC里,M不依赖与V,但V是依赖于M的;
(2)在MVP中,M与V完全切断联系,由P进行总控;
(3)MVP中视图逻辑和业务逻辑都在P中,而MVC的视图逻辑在V中;

一句话总结:代码逻辑写在View中的则属于MVC,反之则属于MVP。