MVC设计模式

来源:互联网 发布:nginx 隐藏版本 编辑:程序博客网 时间:2024/05/22 10:26
一、MVC的认识
        MVC在百度百科上的解释为:MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。解释这么一大段,归结起来其实就一句话:M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。

二、学习NVC的目的
        1、快速上手各大主流PHP框架,如yii框架、ThinkPHP、ci等;
        2、快速适应多数公司的web开发需求;
        3、逐步接触和了解web系统架构的知识,为日后成为系统架构的中坚力量做准备O(∩_∩)O !

三、MVC解决的问题
        在PHP还不支持面向对象之前,是通过面向过程的方式来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混合在一起。这样编写出来的代码十分混乱,维护难度大,开发速度慢,二次开发难度高,工作量大等等一系列的弊端。在这样的情况下MVC应运而生,其优势如下。
        1、耦合性低
        视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
        2、重用性高
        随着技术的不断进步,需要用越来越多的方式来访问应用程序。MVC模式允许使用各种不同样式的视图来访问同一个服务器端的代码,因为多个视图能共享一个模型,它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。
        3、生命周期成本低
        MVC使开发和维护用户接口的技术含量降低。
        4、部署快
        使用MVC模式使开发时间得到相当大的缩减,它使程序员集中精力于业务逻辑,界面程序员集中精力于表现形式上。
        5、可维护性高
        分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。
        6、有利软件工程化管理
        由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。控制器也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。

四、MVC的工作流程
   第一步:浏览者 -> 调用控制器,对它发出指令;
   第二步:控制器 -> 按指令选取一个合适的模型;
   第三步:模型 -> 按控制器指令读取相应数据;
   第四步:控制器 -> 按指令选取相应视图;
   第五步:视图 -> 控制器把第三步选取到的数据按照用户想要的样子显示出来。

五、入口程序
        我们经常听说单一入口机制,单一入口是指在一个web应用程序中,所有的请求都是指向一个脚本文件,例如我们经常看到某一个网站所有的页面都是index.php?xxxxx这样的形式。所有对使用程序的访问都是必须通过这个入口。



1 0
原创粉丝点击