javascript - 前端开发中业务模型和视图模型具体分别指什么?
三叔
三叔 2017-07-05 10:51:17
0
2
1209

在徐飞的这篇文章中,第五节:“为什么MVVM是一种很好的选择”中,有提到业务模型和视图模型,他们具体指什么?

三叔
三叔

全部回复(2)
过去多啦不再A梦

【业务模型】和【领域模型】较为相似,可以指用于表达业务内容的数据。例如淘宝的业务模型是【商品】,博客的业务模型是【博文】,推特的业务模型是【推文】。可以理解为经典 MVC 中的 Model,包含了名称、描述、时间、作者、价格等【真正意义上的】数据字段内容。

而【视图模型】则是 MVVM 兴盛后的新概念。要实现一个完整的 Web App,除了数据外,还有 UI 交互中非常多的【状态】。例如:弹框是否打开、用户是否正在输入、请求 Loading 状态是否需要显示、图表数据分类是否需要显示追加字段、和用户输入时文本的大小和样式的动态改变……这些和具体数据字段无关,但对前端实际业务场景非常重要的视图状态,可以认为是一种【视图模型】。在 Vue 一类的 MVVM 库中,上述例子中的状态都能够用 JS 变量来表示和控制,这同样可以认为是一种数据模型。

因此,业务模型和视图模型在前端都是十分重要的概念。在 MVVM 解决了业务模型数据到页面之间的绑定关系后,Redux 等状态管理库想要解决的则是富交互页面中,视图模型状态极度膨胀所带来的一系列问题了。对这些模型有更深的理解,实际上也有助于理解前端目前的发展方向。

迷茫

举个栗子你就懂

//业务模型
function UserBM(){
    this.username;
    this.password;
    this.address;
}

//视图模型


function UserVM(){
    this.username;
    this.password;
    this.address;
    this.isShowHelloMessage;
    this.isShowAddress;
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!