浅谈MVC架构在开发ASP.NET站点中的应用

2016-10-21 01:35张治平
电子技术与软件工程 2016年5期

张治平

摘 要 MVC架构是目前ASP.NET网站系统开发流程的一种流行的模式,一种开发架构,一种开发的概念,同时也是一种设计样式。软件开发人员通过这种模式来提高软件开发效率,同时提高软件质量和可维护性。

【关键词】MVC模式 ASP.NET站点 开发效率 MVC应用

1 对MVC架构开发模式的认识

MVC是Model-View-Controller-三个英文字母的缩写,直译为“模型-视图-控制器”,是一种软件开发架构或者称模式。在MVC开发模式中,将软件中交互性的应用分解为Model、View、Controller三个相对独立的组件,通过彼此之间提供的接口,实现三者之间的通信与同步。

(1)Model直译为模型,更加准确表述可称为“数据模型”,Model主要负责所有与数据有关的操作任务。具体有定义数据结构,负责与数据库进行交互,从数据库中获取信息记录,将信息保存到数据库里面,数据信息格式是否合法进行判断,数据信息加工、处理等,基本上所有与数据有关的任务,都应该在Model层进行定义或者编写代码,比如:数据添加、更新、查询、删除等。

在ASP.NET中,Model可看作成一个命名空间(Namespace),它定义了一些类型(Type)或(Class)来负责所有与数据有关的操作,在Visual Studio提供了常见的相关技术包括ADO.NET实体数据类型、LINQ to SQL类等。

(2)VIEW是页面视图,主要提供跟用户交互有关的接口或者界面,即用户输入输出相关操作的界面。输入操作是提供界面将用户输入的数据传回服务器,输出操作是将数据显示界面上呈现给用户。

(3)Controller是控制器,实现用户交互与输入,也是业务逻辑的处理。具体作用有控制程序与用户交互的渠道,控制软件系统执行的流程,实现从Model层中读取数据,控制将输出信息在哪个View上呈现,并在发生异常错误时选择相关的界面进行响应,总的来说在软件中起到至关重要的作用。

2 利用MVC架构进行ASP.Net站点开发的意义

在1979年MVC被提出,并应用于当时热门的Smalltalk程序设计语言,它的产生主要目的是为了使得软件开发过程更加简单,这种MVC模式将业务逻辑层与数据表示层分离出来,使得程序编写模块化,也将提高程序的可维护性。

2.1 将业务逻辑与用户界面逻辑分离,降低了站点开发的复杂度

基于Web的应用程序中,一般用户界面逻辑需求的修改比业务逻辑频繁。当用户界面做好之后,用户可能会提出一些新的修改要求,这些新的需求可能导致修改现有的页面布局。利用MVC架构,可以做到对界面修改(View更改),可达到基本不会影响数据和业务逻辑,简化代码编写难度。

2.2 大大提高了程序代码可维护性

因为模型Model是独立的,并且与控制器Controller、视图View相对分离,当数据层和业务规则有变动时修改起来也很容易。比如原来系统使用的是MySQL,现在需要将数据库从MySQL迁移到到SQL Server数据库中,只需改变数据模型Model即可。只要Model模型配置正确,无论数据源指向哪里,视图都能正确地显示结果。

2.3 提高代码重用率

多个视图可共享一个数据模型,比如业务逻辑层需要用到用户信息查询的地址,直接调用Model中的方法即可。

2.4 提高开发效率

正所谓“工欲善其事,比先利其器”,在ASP.NET MVC的最大优点是可以通过Visual Studio进行软件开发,而且ASP.NET MVC也支持加载插件功能,通过引用插件可以大幅度提高开发人员的编码效率。采用MVC结构+代码自动生成器的技术架构,可大大减少程序员编码工作量。

2.5 让团队开发更加分工、更加好合作,有利于开发出高质量的软件

大部分数据模型(Model)、存储过程等都通过使用工具自动生成;控制器(Controller)性能要比较稳定,由于它是控制系统业务逻辑关系,一般这个部分由有经验的编程技术人员完成;视图(View)一般由系统分析人员、站点美工去设计完成。

3 MVC架构在开发ASP.NET站点开发中的实现方式

Asp.net为Web站点开发人员提供了MVC架构开发架构的平台,颠覆了传统ASP程序开发的模式:程序业务逻辑与Web界面的Html元素混杂在一起,提高了程序开发效率和可维护性。

3.1 View是Asp.net程序的交互界面

在Asp.net程序中,用户借助View来实现对应用程序的操作,一个Web页面可以由一个或者多个View组成,复杂Web页面呈现的内容可以来自多个数据源,视图在ASP.NET站点中对应地保存为相应的.aspx页面。网页界面编辑人员、界面美工在设计布局和系统界面时就对应处理相应的.aspx页面即可。

3.2 Model对象程序的数据模型,也称作实体或模型

程序的数据一般以文件的形式保存在磁盘中,这样的数据文件称为数据库,Model是数据库中数据的抽象,Asp.net站点的数据库无论采用哪种形式存储,对数据的操作都可以抽象为对Model的操作。在MVC模式中,对数据模型的操作可以借助Asp.net的EntityBase类、Entity类实现对数据库的抽象,完成对数据库相关的操纵,并且,数据模型中相应的数据信息操作可以由Visual Studio自动代码生成工具实现自动生成。

3.3 Controller控制器在Asp.net站點中操作应用系统的业务逻辑,介于Model与View的中间层

用户借助View(即.aspx页面)接收请求,将操作指令发送给Controller,在Controller文件中,根据编程人员设计的软件逻辑以及Model定义的数据执行完毕对应的代码之后把结果返回给View以呈现。在MVC中,一个Controller对应于保存业务逻辑控制代码的aspx.cs文件,一个Controller文件中可以包含多个View显示的控制代码。

4 结束语

MVC是一种目前流行软件开发架构,不仅广泛应用于Asp.net程序开发,并在使用Php、Java等语言开发软件系统时,程序员也会首选MVC开发模式。

作者单位

顺德胡锦超职业技术学校 广东省佛山市 528305