什么是MVC、MVVM
2019-12-03 本文已影响0人
Jabo
MVC
一种软件设计典范,Model View Controller 模型-视图-控制器,单向通信。
- Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。【通常模型对象负责在数据库中存取数据】
- View(视图)是应用程序中处理数据显示的部分。【通常视图是依据模型数据创建的】
- Controller(控制器)是应用程序中处理用户交互的部分。【通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据】
举栗(通俗易懂不迷糊): 用户通过input文本框输入内容到数据库。这里:数据插入数据库【M】,用户看到的界面输入框【V】,把输入的数据传递给M 【C】。
MVVM
Model-View-ViewModel的简写。它本质上就是MVC 的改进版。将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开【VM】抽离C中展示的业务逻辑。View绑定到ViewModel,然后执行一些命令在向它请求一个动作。而反过来,ViewModel跟Model通讯,告诉它更新来响应UI,双向绑定。
举栗(通俗易懂不迷糊): 用户通过input文本框输入内容到数据库。这里:数据插入数据库【M】,用户看到的界面输入框【V】,到这里几乎和MVC一模一样,but用户输入触发M的过程给了VM(响应),可能这里有人疑惑了这个C有啥不同,在改一下需求,把输入的内容在页面的下方展示,以前的做法是在页面获取元素再innerText之类了,但是用VM就很方便了页面直接绑定VM约定规则(进一步解耦)【用过VUE得同学应该就明白了】。