2

MVC中的M(model)、MVC总结

MVC封装message.js(重点明白M的封装)

这篇博客的源代码是我的正在写的在线简历,博客是继上一篇写的
完整代码(项目暂未完成)
预览地址

在本地预览项目的时候用的http-server
将代码变得有结构

V与C

将message.js的代码封装为MVC模式,
先分离V和C,让代码看上去有条理
修改后的结构:
PgukqO.png

完整代码message.js

M(model)操纵数据的模块

model是操纵数据的模块,所以将LeanCloud封装为操作数据的对象.将初始化和操纵数据的方法封装在model里:
PgMUK0.png
fetch()save()返回promise,以便后面的controller调用

剩下部分的结构修改如下:
PgMhVO.png

  1. 将view和model传入controller,对其操作
  2. 在controller中添加并初始化model
  3. 使用model里操纵数据的函数(fetch和save),并对返回的promise使用.then()继续写成功和失败后的代码

controller在调用fetch()save()并接受到返回的Promise之后就可以直接去写异步代码,可以写成功之后和失败之后要做的事.

操纵数据交给model,之后成功或失败处理,交给controller.在返回的Promise在后面then就好了.至于是成功还是失败,就要看model层的返回信息了

message.js分离MVC中的M完整代码

MVC总结

MVC就是把代码分为三块

  1. V(view)只负责看得见的东西.
  2. M(model)只负责跟数据相关的操作,不会出现DOM,不会出现任何的html/css操作.例如model里只会有初始化数据库,获取数据方法fetch(),保存数据的方法save()
  3. C(controller)只负责把这些view和model组合起来,找到view,找到model,使用model完成数据修改业务,并修改view的显示

V:视图
M:数据
C:控制器

MVC是一种代码组织形式,不是任何一种框架,也不是任何一种技术,只是组织代码的思想,要做的就是V和M传给C,C去统筹

至于M,V,C是对象还是类,都不重要.在js里,MVC分别由三个对象去担任三个职责

MVC的逻辑顺序(绿色字)
PglPte.png
model专门专注对于server(服务器上的数据库)的访问


风彻
1.5k 声望142 粉丝