前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MVC中的M(model)、MVC总结

MVC中的M(model)、MVC总结

作者头像
代码之风
发布2018-10-31 11:30:44
1.7K0
发布2018-10-31 11:30:44
举报
文章被收录于专栏:马涛涛的专栏马涛涛的专栏

MVC中的M(model)、MVC总结

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

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

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

V与C

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

PgukqO.png
PgukqO.png

完整代码message.js

M(model)操纵数据的模块

model是操纵数据的模块,所以将LeanCloud封装为操作数据的对象.将初始化和操纵数据的方法封装在model里:

PgMUK0.png
PgMUK0.png

fetch()save()返回promise,以便后面的controller调用

剩下部分的结构修改如下:

PgMhVO.png
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
PglPte.png

model专门专注对于server(服务器上的数据库)的访问

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MVC中的M(model)、MVC总结
    • MVC封装message.js(重点明白M的封装)
      • V与C
      • M(model)操纵数据的模块
      • MVC总结
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档