MVC模式
1.view传送指令到controller
2.controller完成业务逻辑后,要求model改变状态
3.model将新的数据发送到view,用户得到反馈
4.所有通信都是单向的
对于MVC
M即model模型,数据层,负责数据的处理和获取他们的接口
V即view视图,视图层,指的时用户能交互的界面,比如由html组成或者软件的客户端界面
C即controller控制器,控制器层。它是model和view之间的组件
MVC运行流程
首先用户在view视图下,进行交互式操作
视图将用户的操作反馈到控制器(例如点击)
controller进行数据的调用和事务的处理
特别是当controller对数据造成更改之后
会反馈到model组件中
而model组件会将新的数据传输到view里
客户从而获得新的视图
MVC的和坏处
1.低耦合性
2.重用性高
3.部署快,生命周期成本低
4.可维护性高
不适合小型,中等规模的应用程序
视图和控制器之间的联系过于紧密,并且降低了视图对模型数据的访问
MVC适合中大型的后端应用,带逻辑性的,不太适合业务型
MVP模式
mvp模式将controller改名为presenter(广播),同时改变了通信方向
各部分之间的通信都是双向的
视图和模型解耦合,都通过presenter传递
视图非常薄,不部署任何业务逻辑,成为被动视图,而presenter比重过高
mvp适用于事件驱动的应用架构中,如asp.net web form , windows forms应用
MVVM模式
View和ViewModel双向绑定
vue中的v-model模块是对这种关系的应用
视图中的变化将实时反映在viewmodel中,react、angular也采用这种方式
MVVM模式将presenter层替换为ViewModel,其他的与MVP模式基本一致
它和mvp的区别是,采用双向绑定的概念
viewmodel中,react、angular也采用这种方式
MVVM模式将presenter层替换为ViewModel,其他的与MVP模式基本一致
它和mvp的区别是,采用双向绑定的概念