MVC与三层的最大区别在于发送请求和相应请求的路径
MVC view发送给controller请求,cont ...
eplanet 发表于 2011-2-25 09:55 http://myci.tk/forums/images/common/back.gif
你这个应该不是前端控制器的 MVC 架构,感觉有点像 ASP.Net 里的 WebForm
Web 开发里的 MVC 最出名的就是 RoR,CI 也是学习这个架构的。 回复 8# eplanet
你的观点我非常赞同。
在比较传统的框架,MVC仅仅作为web层的一个架构,比如web框架struts里面:Model用来处理商业逻辑相关的东西(比如和EJB交互,表单验证),View当然是用户的入口和交互,而Controller仅仅是作为一个请求分发(dispatcher,它甚至都不是一个文件)。
但是就象“世界上没有两片叶子是一样的”,每个人对MVC的理解都可以不同,实现起来当然可以不同。在PHP这种脚本语言下,相反我觉得CI的布局是比较合理的,主要原因是目前这种架构可以合理的将底层数据处理逻辑和表现相分离。只是新手在用的时候很难分清楚C和M的关系。
至于你说的这个问题,实际上可以做成一个模块化的MVC,推荐使用下面这个MX拓展:
https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/
传说中的HMVC。大家讨论下这个H到底是神马意思? 回复 12# saturn
层次化 MVC 即 HMVC
对吧。。:lol 额~~
其实我参考的不是ASP.net里的webForm,而是比那个老的多的C++ MFC里的MVC结构。虽然那个实际上也挺失败的。
不过个人认为MVC的精髓就在于各个部分没有严格的形成队列式的单线结构,而是灵活的根据需要制定了一个像网一样的有向图。大大简化的 请求->响应 的流程和时间。
我也同意模式也好,范式也好不应该僵化。所以MVC有三部分也好,五部分也好,各司其职,然后相互都能够灵活的根据需要通讯就是MVC,我是这么理解的。
另外,这个帖子最初的问题已经得到答案了,谢谢版大。本想偷懒找个简单的方式:D
谢谢楼上各位的热情。 回复 14# eplanet
确实,MFC 是个失败的 MVC 架构,当初我做桌面开发的时候,MFC 搞的我很迷糊,就转向 VCL 了。。。。 我感觉楼主是需要一个hmvc eplanet 发表于 2011-2-25 09:55 static/image/common/back.gif
多了些东西
MVC与三层的最大区别在于发送请求和相应请求的路径
MVC view发送给controller请求,cont ...
你说得对,不过,每个框架设计都有区别。关键看设计者对php生产中对模式理解和要求。
页:
1
[2]