首页 / PHP / 大家对WEB开发的MVC的理解吧?
大家对WEB开发的MVC的理解吧?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了大家对WEB开发的MVC的理解吧?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1775字,纯文字阅读大概需要3分钟。
内容图文
![大家对WEB开发的MVC的理解吧?](/upload/InfoBanner/zyjiaocheng/238/2e72186cd7024854bed83610eef50eee.jpg)
回复内容:
YII中的Action层,除了解耦动作,使代码复用,在MVC中充当的是哪一块的角色?
没有用过YII,但是MVC基本上都是那个路子。action应该是控制器吧,一般来说控制器最好是做请求的分发和输出,最好不要在action中做任何处理。可以这么理解,一个项目就是一个餐厅,action是服务员,他的工作就是接收客人的要求,然后传达给厨师,厨师做好菜,服务员再端回来给客人,就这么多。但是这里面会涉及问题,比如说客人点的是炖菜,服务员应该去告诉做炖菜的厨师A,客人要甜点,服务员应该去通知糕点师B。要是餐厅的菜品一多,服务员就不得不记住很多对应关系,也就是说传达请求的逻辑很复杂。要是服务员生病请假了,临时找个人来替代是很难的,因为这个活很复杂,这就对应我们对代码里修改或者加功能一样。要是我们的action写得很复杂,改代码是非常痛苦的,甚至很可能为了加一点新的小功能导致整个程序编译失败。
所以现在的大餐厅,服务员基本上都是用一个机器给生成订单,然后由机器来通知各个厨师。这样的好处就是,服务员的工作就变得很简单了,要找个新的服务员也非常容易。这个行为对应在MVC的架构里面也是非常常用的,叫做委托。就是说,action收到请求,只需要做一个简单的处理,然后委托给一个专门的model来进行更进一步的请求分发和过滤,由这个model再去调真正的处理程序。这个被委托来做分发的model是属于M层的。
我们的许多设计模式也是使用在M层,比如做分发的model实现一个工厂模式或者策略模式等等,这些都是在M层的处理,action是C层的,尽量让action保持简洁。类比来说,尽量让服务员少管业务,更多的精力放在给顾客的服务上,action更注重的就是做好用户的接口。
Controller呗。
http://segmentfault.com/blog/trigkit4/1190000002386651
action方法是一个个动作,属于控制器;
Yii框架用的很标准的MVC模型,action所属的类都继承自Controller:
class TracerController extends Controller
{
public function actionIndex()
{
$this->render('index');
}
}
楼主请百度:yii权威指南 pdf
很薄的一本册子,将MVC讲的很清楚;
内容总结
以上是互联网集市为您收集整理的大家对WEB开发的MVC的理解吧?全部内容,希望文章能够帮你解决大家对WEB开发的MVC的理解吧?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。