您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > ISAS文档_ASPNETMVC
ASP.NETMVC1课程代号:833082132014-2015学年第2学期《ISAS与项目训练(二)》ISAS:ASP.NETMVC班级:13网络管理.学号:13734118.姓名:张凡.指导教师:周洪斌..沙洲职业工学院NIIT安艾艾迪ASP.NETMVC1摘要:在程序开发过程中,为保证应用系统的灵活性、安全性、实用性并且提高开发的效率,需要一种好的设计模式来解决这一常见问题ASP.NETMVC(模型-视图-控制器)设计模式在实现应用系统中具有得天独厚的优势,本文从应用的角度分析了ASP.NETMVC技术的原理、优势以及在程序编写中的应用和使用技巧。关键词:MVC原理;优势;技巧;使用目录一、MVC技术概述...........................................................................................................2二、MVC工作原理...........................................................................................................22.1Model.....................................................................................................................32.2View.......................................................................................................................32.3Controller...............................................................................................................4三、MVC设计模式的扩展...............................................................................................5四、MVC的优势..............................................................................................................63.1设计清晰..............................................................................................................63.2独立性..................................................................................................................63.3易于扩展..............................................................................................................63.4加快了开发速度..................................................................................................7五、MVC的缺点..............................................................................................................7六、MVC的应用..............................................................................................................8七、结束语.........................................................................................................................9ASP.NETMVC2一、MVC技术概述MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。MVC是XeroxPARC在八十年代为编程语言Smalltalk80发明的一种软件设计模式,但是至今已被广泛使用尤其是最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用。二、MVC工作原理MVC是一个设计模式,它强制性的使应用程序的输入处理和输出分开使用MVC应用程序被分成三个核心部件:Model(模型)、View(视图)、Controller(控制器),它们各自处理自己的任务。View和Controller都可以直接请求Model,但是Model不依赖View和Controller,Controller可以直接请求View来显示具体页面,View不依赖Controller,可以通过另外的方式来请求ControllerASP.NETMVC32.1ModelMVC系统中的模型从概念上可以分为两类――系统的内部状态和改变系统状态的动作。模型是你所有的商业逻辑代码片段所在。本文为模型提供了业务实体对象和业务处理对象:所有的业务处理对象都是从ProcessBase类派生的子类。业务处理对象封装了具体的处理逻辑,调用业务逻辑模型,并且把响应提交到合适的视图组件以产生响应。业务实体对象可以通过定义属性描述客户端表单数据。所有业务实体对象都EntityBase派生子类对象,业务处理对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过业务实体对象实现了对视图和模型之间交互的支持。实现时把做什么(业务处理)和如何做(业务实体)分离。这样可以实现业务逻辑的重用。由于各个应用的具体业务是不同的,这里不再列举其具体代码实例。2.2View视图是模型的表示,它提供用户交互界面。使用多个包含单显示页面的用户部件,复杂的Web页面可以展示来自多个数据源的内容,并且网页ASP.NETMVC4人员,美工能独自参与这些Web页面的开发和维护。在ASP.NET下,视图的实现很简单。可以像开发Windows界面一样直接在集成开发环境下通过拖动控件来完成页面开发本。本文中介绍每一个页面都采用复合视图的形式即:一个页面由多个子视图(用户部件)组成;子视图可以是最简单HTML控件、服务器控件或多个控件嵌套构而成的Web自定义控件。页面都由模板定义,模板定义了页面的布局,用户部件的标签和数目,用户指定一个模板,平台根据这些信息自动创建页面。针对静态的模板内容,如页面上的站点导航,菜单,友好链接,这些使用缺省的模板内容配置;针对动态的模板内容(主要是业务内容),由于用户的请求不同,只能使用后期绑定,并且针对用户的不同,用户部件的显示内容进行过滤。使用由用户部件根据模板配置组成的组合页面,它增强了可重用性,并原型化了站点的布局。视图部分大致处理流程如下:首先,页面模板定义了页面的布局;页面配置文件定义视图标签的具体内容(用户部件);然后,由页面布局策略类初始化并加载页面;每个用户部件根据它自己的配置进行初始化,加载校验器并设置参数,以及事件的委托等;用户提交后,通过了表示层的校验,用户部件把数据自动提交给业务实体即模型。这一部分主要定义了WEB页面基类PageBase;页面布局策略类PageLayout,完成页面布局,用于加载用户部件到页面;用户部件基类UserControlBase即用户部件框架,用于动态加载检验部件,以及实现用户部件的个性化。为了实现WEB应用的灵活性,视图部分也用到了许多配置文件例如:置文件有模板配置、页面配置、路径配置、验证配置等。2.3Controller为了能够控制和协调每个用户跨越多个请求的处理,控制机制应该以集中的方式进行管理。因此,为了达到集中管理的目的引入了控制器。应ASP.NETMVC5用程序的控制器集中从客户端接收请求(典型情况下是一个运行浏览器的用户),决定执行什么商业逻辑功能,然后将产生下一步用户界面的责任委派给一个适当的视图组件。用控制器提供一个控制和处理请求的集中入口点,它负责接收、截取并处理用户请求;并将请求委托给分发者类,根据当前状态和业务操作的结果决定向客户呈现的视图。在这一部分主要定义了HttpReqDispatcher(分发者类)、HttpCapture(请求捕获者类)、Controller(控制器类)等,它们相互配合来完成控制器的功能。请求捕获者类捕获HTTP请求并转发给控制器类。控制器类是系统中处理所有请求的最初入口点。控制器完成一些必要的处理后把请求委托给分发者类;分发者类分发者负责视图的管理和导航,它管理将选择哪个视图提供给用户,并提供给分发资源控制。在这一部分分别采用了分发者、策略、工厂方法、适配器等设计模式。三、MVC设计模式的扩展通过在ASP.net中的MVC模式编写的,具有极其良好的可扩展性。它可以轻松实现以下功能:①实现一个模型的多个视图;②采用多个控制器;③当模型改变时,所有视图将自动刷新;④所有的控制器将相互独立工作。这就是MVC模式的好处,只需在以前的程序上稍作修改或增加新的类,即可轻松增加许多程序功能。以前开发的许多类可以重用,而程序结构根本不再需要改变,各类之间相互独立,便于团体开发,提高开发效率。下面讨论如何实现一个模型、两个视图和一个控制器的程序。其中模型类及视图类根本不需要改变,与前面的完全一样,这就是面向对象编程的好ASP.NETMVC6处。对于控制器中的类,只需要增加另一个视图,并与模型发生关联即可。同样也可以实现其它形式的MVC例如:一个模型、两个视图和两个控制器。从上面可以看出,通过MVC模式实现的应用程序具有极其良好的可扩展性,是ASP.NET面向对象编程的未来方向。四、MVC的优势3.1设计清晰用模块中的公用方法来操作它的数据和状态,很容易理解如何来控制模块的行为当设计一个应用时,这种方式将使整个程序更加容易维护。3.2独立性任何组件甚至整个模块都可以独立调换,视图和控制器改变不会影响到其他方面不同的组件开发可以同时进展视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模。型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。3.3易于扩展MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码它包括任何WEB(HTTP)浏览器或者无线浏览器(wap)控制器和视图可以随着模块的扩展进行相应的扩展,只要保持一种公用的接口,视图和控制器的旧版本也可以使用。ASP.NETMVC73.4加快了开发速度对于开发人员来讲,由于MVC分离了模式中的数据的控制和数据表现,从而可以分清开发者的责任,后台开发人员可以专注业务的处理,前台开发人员专注于用户交互的界面,从而加快产品开发以及推向市场的进程,降低了开发和维护用户接口的技术含量有利于软件工程化管理由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化工具化管理程序代码降低的生命周期成本方便快速的部署使用MVC模式使开发时间得到相当大的缩减,不同模块的程
本文标题:ISAS文档_ASPNETMVC
链接地址:https://www.777doc.com/doc-2879618 .html