|
为什么用MVC
MVC如今在web开发中大放异彩。虽然其中包括代码的简洁和升级的便利等原因,但是首要原因还是他提倡的开发工作流。在开发团队中,MVC提供了有效的合作模式,他将各人的职责分为了三个主要的角色。
开发。开发人员是指处理模型的程序员。他们通常拥有与PHP、数据库管理、算法、构架和数据校验等方面的相关技能。这一角色通常会负责实现应用程序的编程细节,他们提供API,同时实施处理数据的策略。
设计。设计人员处理视图并负责实现应用程序的外观。他们具有如HTML、CSS、JavaScript和图形设计等方面的技能。通常,这一角色负责与外部的通信源交互以决定要开发或者增强的应用程序的现实的业务规则。设计通常会导致原型的开发,也就是创造能够显示理想功能的模型设计。
集成。集成工作存在于控制器层中。他将设计师和开发人员的工作连在一起。集成人员的经验通常比开发人员要少,他们负责切割静态模板并且制作应用程序所需的动态区域。他们还负责代理来自请求源的数据。他们将从表格中获取请求信息,请这些信息传递给模型,解释结果,并将结果传递给视图。
通过职责分工,开发方法的细节与开发需求的细节分开了,这使得创意学科和技术学科能够更加容易交互。
在一个典型的工作流中,首先设计师会根据现存的业务需求以及应用程序所要实现的功能,制作一个静态的、单独的原型设计。然后设计师将设计内容交给开发人员评审。
开发人员负责确保所有要求实现的功能是可行的,并且符合公司的安全和隐私策略。如果开发人员没有发现任何问题,他们就会创建一个开发计划,其中包括一个API模型,然后再交给集成人员。如果原型出现问题,项目会回到设计人员手中,这一个过程就再次从头开始。
准备好设计原型和API模型之后,集成工作就会开始。集成人员将研究原型设计,并将它转换成模板语言,如普通PHP、smarty等。这使得设计内容可以处理动态数据,并且将设计集成到完全有集成人员负责的URL结构中。然后编写一个控制器组件,这一组件会将请求(来自于表格、URL参数、cookie等)在web服务器和他们需要操纵的模型的模型信息之间代理分发。结果产生之后,获取视图并输出,并且控制器会提供所有动态内容的值。
最后,当API模型完全实现之后,就可以将应用程序交给测试了。如果集成人员根据规范来编写控制器,并且模型开发人员遵循API编写代码,那么一切都顺利进行。 |
|