MVC是一种三层架构模式,核心目的在于将业务逻辑与视图层分离。
- M (Model) 核心数据层,业务逻辑信息层及处理
- V (View) 视图层, 软件设计中视图ui部分
- C (Controller)控制器, 控制器通常接收ui端输入,选取model层处理,从而反馈相应结果
上面三个层相互独立,同时又是紧密相连的,每一层内部的变化修改不影响另外两个层,同时又相互提供了外部接口以便调用。
这样做的好处是什么呢? 很显然,这样的一种模块化设计很好的保证了修改数据业务逻辑层,视图层,控制器时不会相互影响,保持相对独立,从而大大提升了软件维护的效率,降低成本,方便了程序的升级与更新。
Model层 相对独立,可更新View.
View 读取Model层数据,可告知Contorller响应动作
Controller 可更新View,Model
- mvp是指与MVC的区别在于 Model层与View层的交互通过Presenter来协调
- MVVM是MVC的变种,为了解决Controller层处理View和model相关控制时“代码臃肿庞大”问题。通过 View与ViewModel的交互方式来进行了瘦身,否则我认为它本质上还是个MVC。那么这个交互方式是什么呢,就是“双向的数据绑定”。
model层此时作为数据业务的存储和处理服务器数据等工作。
我的观点:具体使用mvc,mvp,mvvm 三者核心出发点都是分层,相对解耦。代码的细节处理在于各层通信方式有所不同。