`

MVC框架特点

    博客分类:
  • MVC
mvc 
阅读更多


• MVC是 Model-View-Controller的简称,即 模型-视图-控制器



• MVC它是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。

MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。 

MVC结构提供了一种按功能对各种对象进行分割的方法(这些对象是用来维护和表现数据的),其目的是为了将各对象间的耦合程度减至最小。MVC结构本来是为了将传统的输入(input)、处理(processing)、输出(output)任务运用到图形化用户交互模型中而设计的。但是,将这些概念运用于基于Web的企业级多层应用领域也是很适合的。 

在MVC结构中,模型(Model)代表应用程序的数据(data)和用于控制访问和修改这些数据的业务规则(business rule)。通常模型被用来作为对现实世界中一个处理过程的软件近似,当定义一个模型时,可以采用一般的简单的建模技术。 

当模型发生改变时,它会通知视图(View),并且为视提供查询模型相关状态的能力。同时,它也为控制器(Controller)提供访问封装在模型内部的应用程序功能的能力。 

一个视图(View)用来组织模型的内容。它从模型那里获得数据并指定这些数据如何表现。当模型变化时,视负责维持数据表现的一致性。视同时将用户要求告知控制器(Controller)。 

控制器(Controller)定义了应用程序的行为;它负责对来自视的用户要求进行解释,并把这些要求映射成相应的行为,这些行为由模型负责实现。在独立运行的GUI客户端,用户要求可能是一些鼠标单击或是菜单选择操作。在一个Web应用程序中,它们的表现形式可能是一些来自客户端的GET或POST的HTTP请求。模型所实现的行为包括处理业务和修改模型的状态。根据用户要求和模型行为的结果,控制器选择一个视作为对用户请求的应答。通常一组相关功能集对应一个控制器。



MVC的处理过程



• 首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理。


• 然后模型根据用户请求进行相应的业务逻辑处理,并返回数据。


• 最后控制器调用相应的视图格式化模型返回的数据,并通过视图呈现给用户。



MVC的优点:



• 首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。


• 由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松耦合的构件。


• 此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。


MVC的适用范围



• 使用MVC需要精心的计划,由于它的内部原理比较复杂,所以你需要花费一些时间去理解它。将MVC运用到你的应用程序,会带来额外的工作量,增加应用的复杂性。


• 但对于开发存在大量用户界面,并且业务逻辑复杂的大型应用程序,MVC将会使你的软件在健壮性、代码重用和结构方面上一个新的台阶。尽管在最初构建MVC框架时会花费一定的工作量,但从长远角度看,它会大大提高后期软件开发的效率。





 

  • 描述: mvc结构图
  • 大小: 7.2 KB
0
0
分享到:
评论

相关推荐

    微型的MVC框架Espresso.js.zip

    Espresso.js 是一个微型(500行代码,压缩后3k)的 Node.js 的 MVC 框架,其灵感来自于 Backbone 和 React ,主要特点是简单、高性能。 标签:Espresso

    BackstageManagementBasedEasyMvc_基于easy-mvc的后台管理系统源码_JSON_easy_

    1.1版本更新 * 新增系统设置功能 * MyORM新增获取DataTable函数 * Map新增getString()函数 * 自动判断浏览器是否支持gzip压缩,返回压缩后JSON easy-mvc框架特点: * 摒弃微软庞大的mvc库,只有1个dll * 自动扫描...

    基于easy-mvc的后台管理系统源码 v1.1 BackstageManagementBasedEasyMvc.rar

    easy-mvc框架特点: * 摒弃微软庞大的mvc库,只有1个dll * 自动扫描DAL接口并实现注册,无需指定实现类 * 自定义getRequest和getResponse实现请求和响应的处理 * 自定义返回值,实现跳转页面或返回JSON等功能。...

    禅道phpmvc框架v2.3

    禅道php框架是由禅道开发团队开发的一款php mvc框架,它的特点是简单、灵活、中性命令、开发友好,并有完善的扩展机制。禅道php框架是禅道项目管理软件的基石,也是禅道软件商业模式的基石。我们通过这个框架开发了...

    自定义类似struts的mvc框架

    自定义类似struts的mvc框架,有struts1和struts2的共同特点

    自定义MVC框架-MyMVC Framework

    *其特点是整个应用只有一个核心Servlet,用户只需要实现Action接口就可以了,允许用 *户完全以POJO的方式开发MVC Web应用;同时并不限制用户POJO以及业务逻辑的选择, *框架对表单使用用户自定义类进行了封装,...

    MVC快速开发框架(eFrameWork v2.0.0)

    框架主要的特点就是实现最大程度的自动化,开发者不用关心数据的增删改查如何去实现,框架提供一套在线的开发平台,在开发平台进行定义后,系统读取定义的配置实现程序功能, 开发者要做的事主要是前端的修改及信息...

    HerosPHP(PHP MVC开发框架) v3.0.1

    HerosPHP是一个免费开源的,快速、优雅的面向对象的 轻量级PHP MVC开发框架。使用她你能够快速的搭建简洁,易于扩展的web应用。Herosphp有如下特点:output 输出日志乱码的bug。3、更新了 StringUtils类的生成分布式...

    EasyMVC 框架.zip

    专为企业和个人打造的安全稳定,并发性高 ,速度快,简单易用,海量数据处理能力的免费开源PHP框架,有以下特点: 1、支持静态文件,cdn 部署 ,app 应用支持独立二级域名访问 2、兼容apache,nginx,iis 服务器 3...

    NFinal最快的.net mvc框架

    NFinal框架是基于新的魔法糖思想创建的框架 论坛网址:http://bbs.nfinal.com ... NFinal框架是基于新的魔法糖思想创建的框架 本框架有两大特点. 1.所有框架里最简单易学易配置的. 2.所有框架里效率最快的.

    lightphp 小巧但功能强大的 PHP mvc框架

    LightPHP 是一个小巧但功能强大的 PHP 框架,作为一个简单而“优雅”的工具包,它...特点:小巧/高效/易扩展! 简单的扩展包使用!可以完美的帮助开发者实现快速开发,开发者可以在生成的代码框架基础上添加业务逻辑!

    通用asp.net mvc5 Easyui开发框架源码

    2.框架特点: (1)简单逻辑模块实现零代码编程,通过简单配置即可实现增、删、改、查、数据列表、导入、导出、单字段编辑、批量编辑、复制、回收站、草稿箱、附属模块显示配置、列表搜索框和表单外键字段自动完成、...

    基于PHP+Mysql架构,并采用MVC框架式开发的一款开源高效轻量级的内容管理系统

    基于PHP+Mysql架构,并采用MVC框架式开发的一款开源高效的内容管理系统,可运行在Linux、Windows、MacOSX、Solaris等各种平台上。它可以让您不需要任何专业技术轻松搭建您需要的网站,操作简单,很容易上手,快捷...

    一款性能优越的PHP MVC框架EaglePHP(V1.4)

    框架特点 1、代码完全采用PHP5面向对象编写、简洁、规范。 2、模块化的结构设计,易于扩展。 3、采用MVC模式,提高程序的可维护性。 4、支持多项目管理,由不同的单入口控制转发。 5、支持PHP CLI命令行模式。 ...

    Android 开发框架 基于MVC框架.zip

    Android操作系统的特点包括: 开放源代码:Android系统采用开放源代码模式,允许开发者自由访问、修改和定制操作系统,这促进了技术的创新和发展,使得Android系统具有高度的灵活性和可定制性。 多任务处理:...

    基于Promise的Node.js MVC框架 ThinkJS.zip

    ThinkJS 是一个快速、简单的基于MVC和面向对象的轻量级Node.js开发框架,遵循MIT协议发布。秉承简洁易用的设计原则,在保持出色的性能和至简的代码同时,注重开发体验和易用性,为WEB应用... 标签:ThinkJS MVC框架

    JSP网上订餐管理系统myeclipse开发sql数据库BS模式java编程servlet技术mvc框架

    JSP 网上订餐管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助servlet技术mvc框架,系统具有完整的源代码和数据库,开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言...

    jsp+servlet+javaBean实现MVC-jspmvc.zip

    jsp+servlet+javaBean实现MVC_jspmvc.zip是一个基于Java Web开发的MVC框架。该框架采用JSP作为视图层,Servlet作为控制器层,JavaBean作为模型层,实现了MVC架构的分离。 该框架的特点包括: - 可扩展性:框架结构...

Global site tag (gtag.js) - Google Analytics