MVC概念:
MVC是Model,View,Controller的缩写,分别代表Web应用程序中的3种指责。
(1)Model:用于存储数据以及处理用户请求的业务逻辑。
(2)View:向控制器提交数据,显示模型中的数据。
(3)Controller:根据视图提出的请求,判断将请求和数据交给哪个模型处理,处理后的有关结果交给哪个视图更新显示。
MVP概念:
MVP从经典模式MVC演变而来,是Model,View,Presenter的缩写。
(1)Model:负责数据的增删改查。
(2)View:视图界面层,负责UI的渲染,子视图的组织,UI事件,用户交互等。
(3)将UI和业务逻辑拆分开来,使UI和业务都可以独立的进行变化。
区别:
(1)在MVP中View并不直接使用Model,它们之间的通信是通过Presenter (MVC中的Controller)来进行的, 所有的交互都发生在Presenter内部,而在MVC中View会直接从Model中读取数据而不是通过 Controller。
(2)在MVC模型里,Model不依赖于View,但是View是依赖于Model的;MVP里,Presenter完全把Model和View进行了分离。
(3)MVP中Presenter处理视图发送过来的用户操作;在MVC中视图自己处理了这些操作。