Können Sie MVC kurz erklären? Je einfacher, desto besser
滿天的星座2017-05-16 17:06:26
0
17
1320
Ich hatte kürzlich vor, das PHP-Framework zu erlernen, musste jedoch feststellen, dass mein bisheriges Verständnis von MVC sehr oberflächlich war. Aber wenn ich mir die Dokumentation von Laravel ansehe, bin ich immer noch verwirrt über MVC
C和V是人机界面,C是人机界面的功能部分,V只是呈现形式,把它从图形换成命令程序还能跑,只不过不直观而已。一方面M是供C调度的资源,另一方面M是程序中与人机交互不直接相关的部分,它往往需要C来驱动,但是一经驱动就可以独立运行。很多时候大家谈论MVC时都矮化了M,认为它只是对数据的封装,是静态的,其实这只在逻辑较简单的情况下才成立,这时候似乎可以把逻辑都塞进C中。但是一般情况下,相比于M,C是很轻的,因为它只负责人机交互,而M则是程序的主体部分。
MVC
M--模型,一般是跟数据库打交道的。
V-输出给前端用户的。
C-控制器,用于流程控制,主要是协调M和V的。
顾客到餐厅点菜,顾客点好了,服务员要告诉传菜员,传菜员再告诉后厨。
M--菜
V--服务员(菜单)
C--传菜员
M(菜)应该直接跟后厨打交道,那么后厨就是项目里的Service了。
另外:一些比较low的餐厅,会把服务员和传菜员当作一个人来用。
这就是JAVA项目里的,在JSP里写业务逻辑的作法。
有些更low的餐厅,只有一个老板,这个老板身兼服务员、传菜员、后厨。。
这就是JSP里写数据操作的作法。
所以高级餐厅里,会有各种各样的角色,细分至极。提高效率,提高可维护性。这就是为嘛大餐厅实习生多的原因了。
老板说,想看一下这个月的销售情况。这是一个请求。于是你(C)接受了这个请求,要公司各业务部门(M)提供这个月的所有销售数据,然后把这些数据做一下简单整理交给了老板助理(V)。老板助理用这些整理好的数据按部门做成图表饼图呈交给老板看。
view:处理用户请求
controller:处理前端请求,发起数据库请求
model:处理数据库请求
view: 展示页面
controller:处理逻辑
model: 处理数据
mvc的关键,就是路由!!!,路由不懂???就是拆分url地址,剩下的那些,等你写过几个controller的增删该查就渐渐明白了
所以研究mvc,研究路由,就是拆url地址,打完收工!