V为view,是视图层,负责显示数据;M是model,负责管理及拉取数据;C是controller,是view和model层之间的枢纽,负责响应操作,当view需要数据,通知model拉取,当model拉取到数据,通知view显示。
MVVM:model、view、viewmodel。
model层数据模型,view层视图显示,viewmodel监听model数据变化并控制view更新
MVP:与mvc区别仅在Presenter,
(MVP 模式与 MVC 唯一不同的在于 Presenter 和 Controller。在 MVC 模式中使用观察者模式,来实现当 Model 层数据发生变化的时候,通知 View 层的更新。这样 View 层和 Model 层耦合在一起,当项目逻辑变得复杂的时候,可能会造成代码的混乱,并且可能会对代码的复用性造成一些问题。MVP 的模式通过使用 Presenter 来实现对 View 层和 Model 层的解耦。MVC 中的Controller 只知道 Model 的接口,因此它没有办法控制 View 层的更新,MVP 模式中,View 层的接口暴露给了 Presenter 因此可以在 Presenter 中将 Model 的变化和 View 的变化绑定在一起,以此来实现 View 和 Model 的同步更新。这样就实现了对 View 和 Model 的解耦,Presenter 还包含了其他的响应逻辑。)