View是视图的意思,其实相当于计算机系统里的输入输出系统,数据的i/o操作都在view层完成,view层的操作就像我们操作手机界面一样。
我们知道一个网站是由http请求来驱动的,用户的操作无非就是get/post请求从而驱动整个网站的运行。
Controller控制器 则是协调V层和M层的工作,因为从V发出的请求无非就是数据的请求,最终M层要处理,所以M层和C层相当于CPU一样,当V层有任何请求时,首先是控制器接受到,控制器会根据不同的请求【相当于指令,不同的指令将完成不同的功能】,最终呼叫相应的M层来处理,首先M层先要获得数据,就像CPU处理数据一样,先从内存条里获得数据,在进行处理,当然CPU有个控制器,里面有个指令解析器,会根据指令的不同做出不同的处理。
M层接受到数据后,首先会进行过滤处理,防止用户提交的数据存在安全或是没有用的数据,然后进行筛选,验证等处理,当然M层一般情况会使用数据库协调来完成数据的存储,所以数据库相当于一个存储设备,一般情况操作数据库返回的结果有两类,一是布尔值如插入成功了吗?删除成功了吗?更新成功了吗?都是返回布尔值,而数据检索则 返回资源,当M层处理数据完毕,这个结果将会传递过控制器,控制器会调用相应的页面显示出处理的结果。
举例:比如说我们的取款机ATM,咱们去取款,当你插入卡,ATM会自动读取卡片的信息,这个时候信号已经转换并被传递到CPU了,我们知道CPU由控制器运算器组成,当然还有缓存,他会切换界面并且提示让你输入银行卡的密码,其实已经是一个请求了,你插卡的时候就发出一个请求了,密码输入正确后,你在界面进行取款或是查询等操作,其实都是由V层发出请求,由模拟信号转换成数字信号,当然他会有一个AD转换芯片进行信号转换处理,再把这些信号传递过微型计算机系统处理,最终他会处理你发出的请求,处理完毕,自然他会将结果显示在界面上。这一流程就是MVC的精典运用。
比如说我们的灯控设备,当我们发出声音时,声音传感器就会接受到并经过放大电路进行放大处理,然后再进行模数转换,最终由CPU处理,最终打开继电器或是说开关器件从而使电源与灯连成回路,这个也是MVC的原理。
再举例如人的神经系统,眼睛,手脚就是V层,大脑则是控制器及M层,当有人叫你时,你就会接受到,你的大脑就会对此进行处理最终你要应还是不应随你的。
所以MVC理解起来并不是非常的难。
本人非计算机科学毕业也非大学生毕业以上内容仅个人理解!请勿转载以免误人子弟!高的请绕道谢谢。
本文出自 “乐学” 博客,谢绝转载!
原文地址:http://lestudy.blog.51cto.com/6378140/1836901