MVC、MVP与MVVM的区别

关于MVC

Model:封装、保存、同步数据

Controller:负责业务逻辑、根据用户行为或条件修改Model数据

View:数据可视化

MVC、MVP与MVVM的区别_第1张图片

 关于MVP

        此架构可以防止Model与View的直接交流,相对于MVC少了些许灵活,在应用变大后,Presenter的体积也会增大,难以维护。为解决这个问题,出现了MVVM。

 关于MVVM

        ViewModel可以自动响应Model数据变化,自动更新View视图,建立了视图与数据的耦合,减少了维护视图与数据两者关系的代码,使用户更加专注逻辑。

        MVVM是统一前端江湖的一项技术。

MVC、MVP与MVVM的区别_第2张图片

 WEB1.0时期

        在此时期没有前后端概念,不同层次的代码放在一起,系统整体架构大体如下:

MVC、MVP与MVVM的区别_第3张图片

        开发虽然快捷,但是难以维护,引入了后端MVC+前端模板的方式,Java引入了SSH,DoNet引入了MVC、Spring等,这些框架的作用即实现分层。此时的前端完成的只是后端MVC结构中的view层,但是职责仍然不清楚。

MVC、MVP与MVVM的区别_第4张图片

WEB2.0时期

        Gmail的出现使ajax技术风靡全球,此技术使前端的任务更加具体,减少了后端的负载和流量消耗,前端的类库也开始出现,最著名的为jQuery。

        但是此架构的页面内容也是杂糅在一起的,于是前端尝试引入MVC,实际使用中,小小的事件操作也要按照这个流程添加修改代码,使开发变得不再敏捷。

MVC、MVP与MVVM的区别_第5张图片

 

你可能感兴趣的:(MVC)