[字号:  ]

图解MVC(Model-View-Controller)模式

发布时间:2008-11-29 20:14   作者: 七月十五   信息来源: PHPChina 开源社区门户


MVC.gif



关于MVC的解释历来有很多种的版本,网上搜一下有大把,就目前俺的水平来理解,MVC应该如上图所示。
1、个人认为Model和View是不发生直接的关系的,统一由Controller来调度;
2、View可以直接输出至Client,但很多情况下是由Controller的FrontController来完成回送到客户端;
3、很多MVC的解释只在Server端做文章,加入Client端应该可以更好的理解。因为MVC都在Server端。

英语解释:Client客户端,Server服务器端,Model模型,View视图,Controller控制器,Request请求,Response应答,Internet互联网。

由于水平所限,上图可能有失偏颇,欢迎大家提出批评。

最新回复

sheak at 2008-11-29 20:24:22
来的真巧  看见好文了!
就是少了点
sheak at 2008-11-29 20:26:50
MVC 看似是通过view到Client  
不过我觉得view还是要回到Controller才被解析过去的而不是直接从view传到Client的
七月十五 at 2008-11-29 20:31:36

QUOTE:

原帖由 sheak 于 2008-11-29 20:26 发表
MVC 看似是通过view到Client  
不过我觉得view还是要回到Controller才被解析过去的而不是直接从view传到Client的
请看第2点,一般来说都是由Controller的FrontController来完成Response送出的。
175002213 at 2008-12-04 15:35:47
不错,第一次看到这个图,很好理解
Fising at 2008-12-04 15:37:02
怎么又发了一遍。15版主以前你不是发过了?
liexusong at 2008-12-04 15:37:17
是否15兄写框架的得到经验!学习学习~
kuhanzhu at 2008-12-04 15:42:21
是发过了。
不过MVC的话,看ruby的书比较好,不管是哪一本,几乎都有涉及MVC的概念讲解。

[ 本帖最后由 kuhanzhu 于 2008-12-4 15:44 编辑 ]


011.jpg


012.jpg

libailin at 2008-12-04 15:42:55
再多发点  框架,我还是希望是ZF框架的知识,那就更好了!

支持!UP。。。。。。。。
wbsifan at 2008-12-04 15:49:27
对于MVC结构, 已经理解得相当透彻,
如楼主所描述的一样.
我也发过类似的文章.

其实MVC 没有任何难度, 新手也不一定就要选择这种方式
就算一开始不理解也没有关系.
随着项目经验的增长,
这种理解,会越来越容易.
甚至自然的,就会采取这种分精逻辑,数据,和展示的方式.

我用框架开发过许多项目, 发现灵活性还是不足
最近正在寻求一种框架和过程平衡的方式去开发项目
说到底,MVC只是一种结构,并不是什么高深的东西.
顺便说一下, 不用框架 也可以实现 MVC,正在研究中....