MVC、MVP和MVVM浅谈
2024-10-15 12:05:43
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层就没有这么臃肿了
最新文章
- “此网页上的某个 Web 部件或 Web 表单控件无法显示或导入。找不到该类型,或该类型未注册为安全类型。”
- Servlet/JSP-07 Session应用
- 【BZOJ1001】狼抓兔子
- Sql 常见面试题
- JavaScript:综合案例-表单验证
- C#导入、导出功能
- 无法解决 equal to 运算中 ";Chinese_PRC_BIN"; 和 ";Chinese_PRC_CI_AS"; 之间的排序规则冲突
- Python integer objects implementation
- spring--AOP1--6
- PHP结合Linux的cron命令实现定时任务
- BestCoder Round #75 1001 - King's Cake
- 【NOIP2014】Day1题解+代码
- css3新特性---(border,Background部分)
- TIJ笔记:内部类的初始化
- 【Uva 10269 马里奥与公主的归途】
- Qt中事件分发源代码剖析
- python 之面向对象的三大特性
- windows下使用vscode编写运行以及调试C/C++
- 小程序布局中class='container'的bug
- 修改JEECG项目浏览器标题
热门文章
- Codeforces 950D A Leapfrog in the Array (思维)
- 详解C#7.0新特性
- 《Effective Java》学习笔记 —— 通用程序设计
- grunt-inline:一个资源内嵌插件
- Css_*^$
- 网站遭受大量CC攻击后的应对策略
- 教你用PS制作雨天窗户上透明水滴字
- [转载]JAVA内存分析——栈、堆、方法区 程序执行变化过程
- 第十六次ScrumMeeting博客
- 《Linux内核--分析Linux内核创建一个新进程的过程 》 20135311傅冬菁