陈力:传智播客古代 珍宝币 泡泡龙游戏开发第43讲:PHP程序设计中的MVC模式

陈力:传智播客古代 珍宝币 泡泡龙游戏开发第43讲:PHP程序设计中的MVC模式

    模型(M)-视图(V)-控制器(C)mvc是一种软件设计模式,通过MVC思想进行实例开发和程序设计。
    在前面的应雇员管理系统中,我们使用传统的方法来完成,然后分析问题所在?如果把删除用户的请求,提交给empList.php页面本身,因为empList.php页面目前可以接收两种请求,因此我们需要分别对待,最简单的方法就是设置一个标志位 flag。分析: 我们如果真的这样吧删除请求,直接交给empList.php,  这个页面好的结构会被坏,所以这个页面又会变得臃肿。所以要采用理想的MVC方案。

    这里我们必须提到,在软件开发中有几个重要的开发模式:Model1 模式、 分层模式(界面、业务逻辑分离) 。
    mvc模式(php中有很多mvc框架 zend framework thinkphp cakephp yii....) 。
    Model 1的最重要的特点就是没有分层的概念,也就是说吧界面显示和业务逻辑的处理放在一个文件中来完成。
Modle1模式的缺点:
 1. 表现层和业务逻辑层混合在一起。
 2. 在开发过程中,不利于多人的协同开发。
 3. 不利于后期的维护。
Model1模式的优点:
 1. 简单,开发速度比较快。
 2. 比较适合开发小的项目。
     介绍一个MVC的基本概念:mvc是一种软件设计模式。解释每个字母的含义:M(Model模型【处理业务逻辑比如xxServcie Admin.class. 工具类】。V(View 视图/界面。使用php编写,比如login.php , empList.php就是视图);C(Controller 控制器,控制器的主要的作用是接收用户的请求,并调用某个service的方法,完成任务,然后跳转到下一个页面)。
     模型(M)-视图(V)-控制器(C)(MVC)是Xerox PARC施乐帕克研究中心在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。
MVC的各个字母分别是M(model模型)、V(view视图)、C(controller控制器)。
M 主要由 类 来做,用于处理具体的业务逻辑.
V 由php来做,主要用于做界面(即显示数据)
C 有php来做,用于去响应用户的各种请求(比如增,删,改.)
mvc的核心思想:强制程序员在编写项目时候,把数据的输入/数据的处理/数据的输出分开。

软件设计,贵阳网站建设,PHP教程

 

软件设计,贵阳网站建设

应当尽量减少php对 模型类(XxxxService类)的直接调用。
     现在我们对mvc有了一个基本认识,现在我们通过雇员管理系统的编写代码改写。删除用户的方法,加深对mvc的认识。
实例,使用mvc完成雇员管理系统的增加,修改,查询。
     empProcess.php的作用:接受用户的请求,并决定调用某个Service服务执行某项任务。是一个控制器。
通过对问题的分析,我们可以对程序进行改进:
1:增加控制器
即:EmployeeProcess.php 响应对employee表的各种操作,充当控制中转的优势。
2:在控制器(EmployeeProcess.php)中去调用模型,这里我们改进完后,有(model)去完成操作。

现在我们总结MVC的处理过程:
①首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理
②然后调用模型用来处理用户的请求并返回数据。
③最后控制器用相应的视图显示模型返回的数据,并通过浏览器呈现给用户。

mvc开发模式缺点:
MVC是优秀的设计思想,但是它也存在缺点:
1. 工作量增加了。
    由于开发者将一个应用程序分成了三个部件,所以使用MVC同时也意味着你将要管理比以前更多的文件,这一点是显而易见的。这样好像我们的工作量增加了,但是请记住这比起它所能带给我们的好处是不值一提。
2. 不适用小型项目,否则就是机关枪打蚊子。
3. 调试应用程序难度加大。
    mvc提倡模型和视图分离,这样也给调试应用程序到来了一定的困难。每个构件在使用之前都需要经过彻底的测试。一旦你的构件经过了测试,你就可以毫无顾忌的重用它们了。

【推荐阅读】陈力:传智播客古代 珍宝币 泡泡龙游戏开发第43讲:PHP程序设计中的MVC模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值