MVC设计模型及其应用

来源 :考试周刊 | 被引量 : 0次 | 上传用户:yunkan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要: 本文介绍了MVC设计模式的概念,讨论了MVC设计模式在ASP.Net环境下的实现,并对MVC在ASP.NET环境下的应用特性进行了分析。
  关键词: MVC设计模式 ASP.NET 系统开发 实现 特性分析
  
  一、引言
  
  随着程序规模和复杂性的增大,人们在探讨一种合理的分析、设计和开发的模式。以使得软件系统尤其是大型软件系统能像制造机器一样。精确地分工制造,方便地组合使用,灵活地拆卸和简单地维修,使生产效率和软件重用度能够得到很大的提高。MVC模式就是这样一种应运而生的软件设计模式。
  
  二、MVC设计模式
  
  (一)MVC设计思想
  在面向对象系统的设计中,类及其生成的对象是构成面向对象系统的最基本元素,采用设计方法组合这些元素,得到构成面向对象系统的构件。同时,这些构件的设计方法在经过不断的改进和完善后逐渐成型,成为构成面向对象系统的基本设计参考,称为设计模(Design Pattern)。
  MVC英文即Model-View-Controller,是目前软件设计中比较流行的一种模式。MVC模式的出现不仅实现了功能模块和用户访问模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。
  MVC将应用程序分为三个部分:模型(Model)、视图(View)、控制器(Controller)。它们的作用分别描述如下:
  模型(Model)指的是真正完成任务的代码,包含应用系统的核心功能,表示一个应用系统的数据,并且包含访问、维护和管理这些数据的逻辑。所有属于应用系统持久状态的数据都应该保存于模型对象里。模型提供的服务必须足够适用于不同的终端。一个模型聚集了相关的数据和操作,以提供一个详细而精确的服务。一个模型的接口提供了访问和更新模型状态,以及执行封装在模型中的复杂进程的方法。模型服务被控制器访问,用于查询或更改模型的状态。当模型状态发生变化时,模型会通报给视图。在模型同界面分离的情况下,代码即可实现可管理性和可重用性。
  视图(View)表示用户视图部分,是用户看到的与之交互的界面,其中并没有业务逻辑代码。对于视图的处理仅限于视图上数据的采集和处理以及用户的请求。
  控制(Controller)是联系模型与视图之间的纽带,控制模型和视图之间的交互过程。它获取并翻译用户输入的动作,指定执行该动作的模型,或者根据用户的输入和执行的结果来选择下一个视图。可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。控制层相当于一个分发器,决定选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。
  (二)MVC优点
  MVC设计模式具有条理清晰,易于扩展,运用可分布的特点,因此在系统开发中具有显著的优势。具体表现为以下三个优点:
  1.模型、视图与控制器的分离,使一个模型可以被多个视图调用,提高了模型的利用率。
  2.MVC设计模式可以使系统方便地支持其它新的客户端类型,除了运行在桌面型的浏览器外,还可以运行在PDA、带PDA功能的手机、WAP浏览器上。
  3.由于MVC设计模式分离了数据的控制与显示,从而可以使开发者更容易协作开发,后台开发人员可以专注业务逻辑的编程,前台开发人员专注于用户交互的界面,从而缩短产品的开发周期。
  
  三、MVC设计模式在基于ASP.NET系统开发中的实现
  
  ASP.NET提供了实现MVC设计模式的天然环境。ASP.NET采code-behind代码来处理显示页面的用户交互,通过code-behind源代码文件,来实现逻辑控制代码、脚本语言、HTML的分离。ASP.NET应用系统按照三层Web结构划分为表示层、业务层和数据层。表示层由Web窗体组成,实现视图和控制器的功能;业务层包括业务实体组件和业务逻辑组件;数据层包括数据对象、数据访问组件等。由业务层和数据层共同实现模型的功能。以下用Web系统中常见的用户信息查询模块为例,探讨MVC设计模式在ASP.NET应用中的实现机制。
  Model用来管理应用程序域的行为和数据。在本系统中将业务逻辑、与数据库连接和交互的公共操作封装在单独的类中,用专门的类来处理业务逻辑和数据逻辑,从而提高了代码的重用性。具体实现方式为:在公用的基本类库中,定义DataBase类作为公共数据库操作的基本类,在DataBase类中实现与数据库连接和交互的公共操作的代码如下:
  Public class DataBase∥对数据库操作的基本类
  {
  Public DataSet RunSql(string SQL)//执行SQL语句,返回DataSet对象
  {
  SqlConnection conn=new SqlConnection(ConnStr)//建立SQL连接
  SqlDataAdapter da=new SqlDataAdapter(SQL,Conn);
  //创建SglDataAdapter对象并实现连接打开和关闭
  DataSet ds=new DataSet();//创建DataSet对象
  da.Fill(ds);//填充数据到DataSet中
  da.Dispose();//释放SqlConnection对象
  return ds;//返回DataSet对象
  }
  }
  应用程序在数据访问层(DAO)中通过引用公用基本类中的方RunSql()来获取数据对象,下面的数据层实现所有用户的基本信息,具体方法如下:
  Public class UserInfoDAO,BaseObdect
  //继承所有数据对象的基类BaseObdect
  {
  Public DataSet GetUseInfo()//从数据库中获取用户信息
  {
  String sql=“select * from Userlnfo”;
  //SQL查询语句
  return db.RunSql(sql);//调用数据库操作的基本类中RunSql()方法
  }
  }
  Controller不直接对Model中的数据逻辑进行操作,而是通过业务逻辑获取数据层(DAO)中的数据对象。Biz层由类(.CS)文件组成,其中业务逻辑组件封装了具体的处理逻辑。以下为根据一个用户ID返回对应的用户信息处理逻辑。
  Public class UserInfoBiz
  {
  UserInfoDAO userInfo=new UserlnfoDAO();
  //实例化对应数据逻辑类
  Public DataSet GetSingleUserInfo(string ID);
  //得到包含用户信息的—个DataSet
  {
  DataSet ds=userInfo.GetUserInfo();
  //调用DAO层UserInfoDAO类中的GetUserInfo()方法
  DataView dr=New DataView();//创建DataView对象
  dv.Table=ds.Tables;//ds表数据复制到dv中
  dv.RowFilter=“userID” ID;//过滤符合ID用户的纪录
  DataSet dsl=(DataSet)dv;//强制转换为DataSet对象
  return(ds1);
  }
  }
  最后,Controller中的事件调用Model中的业务逻辑方法,并且把响应提交到对应的视图组件以产生响应,完成对
  客户端表单数据的描述。
  
  四、基于ASP.NET的MVC设计模式特性分析
  
  (一)优点
  通过上述实现过程进行分析,在ASP.NET中用MVC模式开发的应用程序具有如下优点:
  1.减少页面依赖性,提升代码复用。
  通过页面中的代码分离,可降低系统设计的复杂性,减少页面中的重复代码。
  2.系统结构清晰,增加系统的可扩展性。
  MVC模式实现的应用程序具有极其良好的结构和可扩展性,它可以实现—个模型的多个视图,采用多个控制器,当模型改变时所有视图将自动刷新。控制器相互独立工作。
  3.便于优化系统,提高系统性能。
  由于每次向数据库请求,都要从数据库装载数据,通过公共的数据访问类和ASP.NET的内部机制可以把数据存放在高速缓存中,从而优化整个应用系统的性能。
  4.系统模型独立,提高系统的可测性。
  模型独立于视图,既可以在ASP.NET环境之外用第三方工具测试模型,也可以通过编写测试脚本实现自动化测试,大大提高测试的有效性和效率。
  (二)不足之处
  在ASP.NET中使用MVC模式也有不足之处:一方面,控制器不直接访向数据层,增加了代码的复杂性,对于一些简单的业务逻辑附加的额外代码所占比重比较大。另一方面,代码的分离增加了代码的维护成本,如果有涉及三者的变化时,在不同的文件中修改显然比在同—个文件修改花费的代价大。因此,在设计系统前权衡这样的代价是必不可少的。
  
  五、结语
  
  采用MVC模式来设计和开发软件系统,能够使整个系统结构清晰,容易进行模块划分,增强了各层、各模块的高内聚低耦合的特性,使各个模块的开发相对独立,使得软件的扩展性、复用性和维护性方面有了极大的提高,给系统的开发、扩展、维护带来了很大的方便,并且系统也可以很容易地加入新的业务和功能,从而适应各种需求的变化。
  
  参考文献:
  [1]邹鹏,尚雄等.基于MVC模式的客户关系管理系统设计[J].计算机应用研究,2005,(02):21-23.
  [2]黎永良,崔杜武.MVC设计模式的改进与应用[J].计算机工程,2005,(9):96-98.
  [3]陈川等.基于MVC设计模式构筑JSP/Servlet EJB的Web应用[J].计算机工程,2001,27(11):48-49.
其他文献
分腿腾越横箱是课改前的必修内容之一,由于支撑跳跃能有效地发展学生的上、下肢力量,改善血液循环的机能,提高前庭分析器的稳定性,培养学生勇敢、果断、顽强的意志和安全意识等良好个性品质具有较高的价值,至今仍是中学体育教学的重要内容之一。“调节教学”是郑州市教育局教研室多年来持续进行的教学改革项目,其研究成果目前已应用于多个学科的教学实践,并取得了突出教学效果。本文对分腿腾越横箱的教学实践中尝试应用调节教
摘要: 日语中不仅有男性用语和女性用语,在日本社会中还存在着针对女性的大量词汇。从报纸中该类词汇的使用频率,可以体察出当代日本女性的真实社会地位。社会语言学认为,语言、词汇和文化是不可分割的。文章从复合词——“男性”“女性”构成的复合词——在日本报纸上的使用频率,分析当今日本女性的社会地位,以及中国隋唐文化特别是宋文化对日本女性社会地位的影响。  关键词: 日本报纸用语 九十年代 日本女性    
摘要: 本文认为,高校学生管理者要站在时代高度,从全局出发,发现管理工作中存在的问题和薄弱环节,并及时加以调整和改进,促进管理水平不断提高,为学生的成人成才打造好的平台。  关键词: 高校学生管理问题原因对策    高校作为培养高素质人才的基地,是为了向社会输送满足社会需要和发展的人才而存在的。高校学生管理工作是整个高校管理系统的重要组成部分,其直接关系到高校整体的教育质量,对整个高等教育的发展有
摘要: 在物理教学中,离不开实验教学,而应用多媒体技术可以充分调动学生的积极主动性,可以切实解决课时矛盾。但教师在使用中要注意资源整合,不可为用而用。  关键词: 物理教学多媒体应用    物理教学是以实验为主的教学过程,但很多实验根本无法在课堂上实现,多媒体技术的应用使其成为了可能。应用多媒体技术可以充分发挥学生的主体作用、可以多方位地提高学习效果和培养学生的能力、可以切实解决课时矛盾。但在应用
俗语说,五指伸出来也有个长短,何况是个性各异的学生,我们难免会遇到弱智的孩子。如何引领这些孩子完成九年教育,是教师所关心的。自信心是学生走向成功的重要精神动力。缺乏自信,影响的不仅仅是学生的智力发展,更重要的是人格的形成。由此可见,自信心在孩子日常生活中的重要性是不言而喻的,而弱智孩子由于自身的缺陷,常常被人冷落、歧视、嘲讽,因此伴随他们的是过多的失败和打击。这样长期的负面影响,使他们形成消极的自
一  一部好的影片,耐人寻味的开头能扣人心弦,让人产生非看不可的强烈欲望;一首好歌,只要前奏一响,就可拨动听众心灵的琴弦,“未成曲调先有情”。数学教学也是如此。俗语说:“良好的开端是成功的一半。”一堂成功的数学课离不开一个精彩的课堂导入。灵巧的引入可点燃学生思维的火花,启迪学生智慧的大门,激发学生学习的欲望;巧妙的导入犹如一杯醇香的清茶,点点滴滴沁入学生心田,使学生很快进入新课学习的最佳心理状态,
摘要: 本文通过SWOT工具分析日语专业学生目前所面临的严峻形势和自身的劣势,阐述了如何通过优化课程体系,提高学生BJT商务日语能力、职业转型能力及双师型教师队伍建设三个维度打造“精日语、通日企”的应用型日语人才。  关键词: SWOT分析 应用型日语人才 人才现状 核心竞争力    1.SWOT分析日语人才现状  SWOT分析法即态势分析法,是通过分析企业本身的竞争优势(strength)、劣势
摘要: 在新课改不断深化的背景下,高中政治课堂教学越来越强调学生在教学中的主体作用,这就要求教师能够不断探讨和改进教学方式,努力激发学生的学习兴趣,从而提高教学效果。实验演示的方法是一种可以直观体现教学内容,并引导学生思考的方法。本文作者着重从实验演示法在课堂教学中的运用谈一些感受和体会。  关键词: 高中政治 课堂教学 实验演示法    高中政治知识比较抽象、概括,在理解上有一定难度,而高中学生
摘要: 本文作者从本校体育教学现状出发,结合近年来国内体育教学改革研究,对交通职业院校体育教学中存在的问题和发展对策进行了探讨,希望能对交通职业院校体育教学发展起推动作用。  关键词: 职业院校 体育课程 问题 改革    一、交通技师学院体育教学中凸显的问题    1.长期以来没有自己的教材,参考的依据基本是普教的大纲、教材。  通过调查发现,我校的教材还是教师自己查找、选择的,学生没有课本。初
摘 要: 美籍华裔作家汤亭亭的短篇小说《无名女人》讲述了一个无名姑姑的故事。姑姑之所以无名,主要是受父权的压制。作者通过讲述一个中国姑姑的故事,反映了华裔女性寻求认识自我的呼声,这个声音来自美国白人社会及中国父权社会的双重压制。  关键词: 《无名女人》 父权制压迫 种族歧视    华裔美国女作家汤亭亭(Maxine Hong Kingston)是美国当代文学中一位重要的作家。她的作品跨越美国大学