mvvm、mvc 和mvp是一种架构模式,为了解决图形界面应用程序复杂性管理问题而产生的应用架构模式。
发展历程:
mvc→mvp→mvvm
mvc模式:
view层:视图层;
model层:程序需要操作的数据和信息;
controller层:接受view层传来的数据,选择model层的数据,进行操作;
从图可以看出mvvm是单向的通信,用户看view层,view给controller层信息,controller给model传递信息,model给view传递数据,view层呈现的用户,因此view和model还是存在耦合。
mvp模式:
mvp模式是由mvc模式进化来的,即view层、model模式、presenter层,他们的关系为:
可以看出在mvp模式中view和model层已经没有了耦合,他们之间的通信只能通过presenter层来传递,而且他们是双向的;
mvvm模式:
mvvm模式是由mvp模式进化来的,他们两个模式之间基本相同,只是将p变成了vm,即presenter变成了viewmodel层;他们的关系为:
mvvm中的数据可以实现双向绑定;即View层数据变化则ViewModel中的数据也随之变化,反之ViewModel中的数据变化,则View层数据也随之变化;MVVM的好处就是数据驱动,数据变,则页面变,这样就能用简单的代码,实现比较复杂的逻辑操作;因此MVVM框架比较适合逻辑复杂的前端项目