MVC模式 - ZF Dream

MVC模式

阿克 posted @ 2008年10月20日 04:01 in 自学笔记 with tags MVC , 1645 阅读

Zend Framework有两种用法,一种是把它当成类库,找到自己想要到类,include进来,然后调用;另一种则是按照ZF的设计目的,规规矩矩地在整个项目架构中借助它来实现MVC模式。

以下是维基百科中对于MVC模式的解释,供参考:

MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式。它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。

模型—视图—控制器模式的目的是实现一种动态的程式设计,使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。除此之外此模式通过对复杂度的简化使程序结构更加直观。软件系统通过对自身基本部份分离的同时也赋予了各个基本部分应有的功能。专业人员可以通过自身的专长分组:

控制器- 程序员编写程序应有的功能(实现算法等等)

视图 - 界面设计人员进行图形界面设计

模型 - 数据库专家进行数据管理和数据库设计

通俗地说,所谓的MVC模式,即把程序的不同功能分开。做小型项目时,一个人也许就对付了编写代码、美工、写HTML和Javascript等工作,这时使用MVC未免小题大作。但是设想一下,假设这个项目有100人参与,不仅有专业美工,单说代码这块就被拆分为10个小组,那项目之间不可能再按照单兵作战时的方式来处理。MVC把程序处理和视觉分开,由View来负责网页显示,那专门做网页的人可以专心处理网页。

那M和C怎么区分呢?这个问题有些已经开始利用ZF的人也概念模糊。

C实际上只是控制器,它起到的作用是根据不同的情况调用不同的M来处理当前任务。举个简单的例子,博客系统中文章上传后要处理,先要对post来的数据做检查,看看有没有恶意代码,然后要对文章内容的特殊部分做处理,如URL地址给他加上链接,然后再保存。在这个过程中,数据检查可以单独写个M,文章内容处理也是一个M,保存又是一个M。C的工作就是按照流程,一一调用。

Zend Framework也有很多类可以调用,那这些类和M的关系又是什么呢?你的M应该尽量使用ZF里写好的类,这样可以简化工作,又能够借助Zend的专业代码提高程序的可读性。特别对商业公司来说,员工流动后,新来的员工在公共类的基础上阅读以往的代码,要比读纯粹老员工写的代码方便得多。

现在的网络编程已经和过去大不相同了。以往我们是从零件做到机器,纯手工打造;而现在,越来越多的“零件厂商”免费提供你零件,你只要组装就可以了,实在遇见个性化的零件需求再自己打造,这样大大节约了成本。

(阿克原创,版权所有)


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter
Host by is-Programmer.com | Power by Chito 1.3.3 beta | © 2007 LinuxGem | Design by Matthew "Agent Spork" McGee