MVC是最经典的开发模式之一,最早是后台那边来的,后台前端的复杂度也上来了,MVC的开发模式也带进前端了。

MVC:

MVC有两个很明显的问题:

1.m层和v层直接打交道,导致这两层耦合度高

2.因为所有逻辑都写在c层,导致c层特别臃肿

为了解决这两个问题,MVC的变种模式出现了MVP和MVVM.


MVP:

p层代替了了c层,v层和m层的交互被p层隔断,从理论上去除了v和m层的耦合

但是造成p层比原来的c层更加臃肿,为了缓解这种臃肿,MVVM出现了


MVVM

简单的来说MVVM其实就是MVP中把P层削弱为VM层,部分简单的逻辑职责分给了View层。

例如ng中的ng-if,ng-for....其实就是V层上的简单逻辑,这样做使得VM层相比起P层就没有这么臃肿了

最新文章

  1. “此网页上的某个 Web 部件或 Web 表单控件无法显示或导入。找不到该类型,或该类型未注册为安全类型。”
  2. Servlet/JSP-07 Session应用
  3. 【BZOJ1001】狼抓兔子
  4. Sql 常见面试题
  5. JavaScript:综合案例-表单验证
  6. C#导入、导出功能
  7. 无法解决 equal to 运算中 "Chinese_PRC_BIN" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突
  8. Python integer objects implementation
  9. spring--AOP1--6
  10. PHP结合Linux的cron命令实现定时任务
  11. BestCoder Round #75 1001 - King's Cake
  12. 【NOIP2014】Day1题解+代码
  13. css3新特性---(border,Background部分)
  14. TIJ笔记:内部类的初始化
  15. 【Uva 10269 马里奥与公主的归途】
  16. Qt中事件分发源代码剖析
  17. python 之面向对象的三大特性
  18. windows下使用vscode编写运行以及调试C/C++
  19. 小程序布局中class='container'的bug
  20. 修改JEECG项目浏览器标题

热门文章

  1. Codeforces 950D A Leapfrog in the Array (思维)
  2. 详解C#7.0新特性
  3. 《Effective Java》学习笔记 —— 通用程序设计
  4. grunt-inline:一个资源内嵌插件
  5. Css_*^$
  6. 网站遭受大量CC攻击后的应对策略
  7. 教你用PS制作雨天窗户上透明水滴字
  8. [转载]JAVA内存分析——栈、堆、方法区 程序执行变化过程
  9. 第十六次ScrumMeeting博客
  10. 《Linux内核--分析Linux内核创建一个新进程的过程 》 20135311傅冬菁