做前端有一段时间了。工作中就一直在用MVC这个组织结构。现在总结一下我自己的理解吧,有不妥之处,还请指点。
我的思维通常是,要用一个东西,首先要认识这个东西,也就是所说的认知能力吧。所以,开头先把今天的题目拆开来讲,每个字母都代表了什么。
M -- Model, 即模型;
V -- View,即视图;
C -- Controller, 即控制器。
好,现在展开来一一描述。
M -- model,这个东西,我的体会就是一个“数据中心”。在写软件的过程中,我们一直用代码来控制数据,控制它的流通和存储。那么,Model就可以看作是数据流通的一个中心。只要需要拿数据了,那么就是Model要发挥作用的时候。
V -- view, 在我看来,就是展示数据的地方。对于我的工作来说,就是html页面。那么这个就是把数据展示给用户的地方。
C -- controller,控制器。也就是控制model和view的中心。
分别认识三者后,现在来看一下它们的关系,这里也是比较重要的地方吧。
从操作一款软件的流程来看,也就是用户操作页面的过程。页面背后的东西对用户来讲则是透明的。所以,用户
最先从View开始操作,然后呢,肯定是要触发事件的,那么这个时候,绑定事件的这件事就会放到Controller中去处
理,如此,实现了View和Controller之间的连接。
那么,既然有了操作,那么就要有数据,这个时候,Controller又要到Model里面去拿数据, 可以想象成"Model兄
弟,给我来两斤数据". Model就要把数据给到Controller。此时,实现了Controller和Model的连接。
等Controller把数据拿回来后,就会交给View,说"这是两斤数据,你拿去展示给用户吧"。然后View身上就挂满
了数据,让用户读取。
总结一下,View上面展示数据,当获得用户操作后,Controller会捕捉到事件,然后就会调用Model的资源去请
求数据,接着再把Model请求回来的数据,送给View去展示。这样就完成了一次简单的页面操作处理。
至此,大家应该对MVC有了一个浅显的认识了。
本文为作者原创,转载请注明出处。