MVC,MVP,MVVM的区别

看了很多版本的讲解让我越来越糊涂,最后总结还是阮一峰老师的比较生动容易理解
(不过我看了看 老师文章的评论下面也有很多跟我一样很多不同的看法)

  1. MVC
    很多框bai架都是以方便实现MVC模式而设计的,比du如Struts,spring。
    MVC,MVP,MVVM的区别
    在阮一峰老师的文章里看来 MVC是单向的 也就是我们可以通过视图对页面进行控制,当进行一些逻辑时通过控制器来将模型部分的数据改变
    也就是这样MVC,MVP,MVVM的区别
    当然也可以是这样 直接通过控制器控制
    MVC,MVP,MVVM的区别

  2. MVP
    关于MVP老师就讲得很通俗易懂了 这里我直接将老师讲的搬过来
    MVC,MVP,MVVM的区别

  3. MVVM

关于MVVM
Model: 代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。我们可以把Model称为数据层,因为它仅仅关注数据本身,不关心任何行为

View: 用户操作界面(DOM)。当ViewModel对Model进行更新的时候,会通过数据绑定更新到View
ViewModel: 业务逻辑层(创建Vue实例),View需要什么数据,ViewModel要提供这个数据;View有某些操作,ViewModel就要响应这些操作,所以可以说它是Model for View.
MVC,MVP,MVVM的区别
我觉得下面这两张图表达的更清楚MVC,MVP,MVVM的区别
MVC,MVP,MVVM的区别
参考文献: http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html