.NET平台下MVC设计模式的实现策略

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:liongliong424
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:.NET 平台下ASP.NET 的应用开发得到了越来越多的应用,而MVC设计模式在ASP.NET 中得到了充分的实现和支持。该文对.NET 技术结合MVC 设计模式的三层架构进行了深入剖析,给出了一个三层架构模型及各层的实现策略,该模型及实现策略对于web应用开发而言,能够实现系统的设计目标,具有通用性。
  关键词:ASP.NET;MVC设计模式;三层架构;实现策略
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)36-2867-03
  Implementation Policies of MVC Design Pattern Based on .Net
  JI Ping
  (Beijing Economic Management School,Beijing 100142,China)
  Abstract: ASP.NET application development based on .NET is used in more and more situations, and the MVC design pattern in ASP.NET becomes applied and perfect. This article carry on the thorough analysis to the three-tier Architecture combining .NET technology with MVC design pattern and presents a model and implementation policies of the three-layer Architecture. The model and the implementation policies can reach the design goal and be common use for web application development.
  Key words: ASP.NET; MVC design pattern; three-tier Architecture; implementation policy
  1 引言
  ASP.NET 是微软最新推出的新型体系结构.NET 框架的一部分, 它为构建新一代网络分布式应用提供了强有力的支持。与以前的Web 开发模型相比, ASP.NET 提供了许多如简易性、安全性、可管理性等重要优点。而且与基于过程的Web 页面技术相比, 面向对象技术在ASP.NET 中得到了完全实现;三层结构的开发技术在.NET 中逐步得到应用, 并发挥了极大的优越性, 但也有不足之处, 由于Web 页面的特殊性, 三层结构逻辑的划分并没有使代码在物理上完全实现分离, 反而使设计的系统结构复杂、用户难以理解, 应用上缺乏可复用性, .NET 技术结合MVC 设计模式能够很好地解决上述问题。
  2 MVC设计模式
  就web应用系统开发来说,MVC是最基本的一种设计模式了,它强制性的使应用程序的输入、处理和输出分开。使用MVC共三个核心部件:模型(Model)、视图(View)、控制器(Controller),它们各自处理自己的任务,如图1所示。
  
  图2ASP.NET下MVC与三层架构相结合的应用模型
  在设计模式上,ASP.NET三层架构中,前端为.html、.asp和.aspx等,中间层为.vb或.cs等文件编译而成的.dll控件,后面为数据库服务器。数据层提供对外部系统(如数据库)的访问,该层涉及到的技术是ADO.NET数据库访问技术。
  采用三层架构以后,表示层通过统一的接口向业务层发送请求,业务层按照自己的逻辑规则将请求处理之后,进行数据库操作,然后将数据库返回的数据封装成类的形式返回给表示层。这样表示层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。这种方式在一定程度上增加了数据库的安全性,同时也降低了对表示层开发人员的要求,因为它不需要进行任何数据库操作。
  4 ASP.NET三层架构的实现策略
  三层架构适用于较为复杂的应用开发,如果所开发的系统功能简单,则完全可以集中在一台机器上,而且速度也会很快,但是在系统数据非常庞大、连接的用户很多,所耗资源非常大的情况下,这台机器会由于负荷过重而速度减慢,甚至出现死机等状况,正是为了避免类似问题的出现,在应用系统开发中才出现了多层架构的设计思想。下面给出三层架构的搭建及各层的实现策略。
  4.1 搭建三层架构
  1) 新建一个空白的解决方案。
  2) 在新建的解决方案中添加三个项目,对应三层架构的三个层。
  右键单击新建的解决方案,依次执行“添加”→“新建项目”→“其他项目”→“企业级模版项目” →“C#生成块” →“数据层”,重复上述步骤,添加“业务层”项目和“表示层”项目。
  3) 设置项目依赖。
  右键点击新建的解决方案 →“项目依赖项”,设置表示层依赖数据层和业务层,业务层依赖数据层。添加表示层引用数据层和业务层、业务层引用数据层。
  至此,一个三层的架构就搭建起来了。
  4.2 各层实现策略
  4.2.1 数据层实现策略
  1) 必须保证数据库的变动对其余各层的不透明性,即无论数据库怎么变动,其它层绝对不可以发生任何改变,哪怕是一行代码都不行。
  2) 数据层应当在保证数据库的变化对其它层不可见的前提下,尽量小。这样做的好处在于系统比较容易迁移,如把系统实现所用的SQL Server数据库改成Oracle数据库,只需修改数据层。
  3) 数据访问策略:通过ADO.NET,可以为业务对象提供一个数据访问的抽象层,从而清晰地分离业务逻辑和数据层的持久性逻辑。
  微软特别推荐在ADO.NET和ASP.NET中使用SQL Server数据库。因为其优势在于:丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地;与Windows操作系统有机集成,多线程的体系结构设计,提高了系统对多用户同时访问的响应速度;对web技术的支持,使用户能够很容易地将数据库中的数据发送到web页面上。
  4.2.2 表示层实现策略
  表示层不仅仅包括界面设计,还包括界面事件响应,数据封装,流程控制等内容。其中,界面的易变性最强,因为它直观、形象,每个客户代表都可以提出自己的需求意见,所以界面不容易稳定。在实现表示层时,将不稳定、易变的因素控制在局部尤为重要。对于企业级的web应用而言,使用优秀的MVC设计模式能够很好的实现三层架构,应为首选策略。界面的设计原则:
  1) 清晰原则:意味着要将表示层的显示逻辑与控制流和业务对象的调用相分离,即保证界面的任何变化都不需要修改其它层的内容。
  2) 精炼原则:表示层越小越好,只包含界面层的显示逻辑、控制逻辑,而不包含任何的业务逻辑;只负责将用户的动作转换为应用事件,以及将用户输入的处理结果转换为界面的显示内容。
  将界面的清晰、精炼两个设计原则可以分解为三条黄金准则,即用户掌控控制权;不加重用户的记忆负担;界面保持风格一致。
  4.2.3 业务层实现策略
  1) 业务层应当不受数据层和表示层变动的影响而需要修改。
  2) 业务层应当在保证数据库或界面变化不会造成自身影响的前提下尽量大。
  3) 如果某个类不是业务规则的需要,就不应该放在业务层,反之亦然。
  无论是表示层,业务层,还是数据层,如果某个类,仅仅是为了该层的某种特殊实现而存在,那么它必须放在该层。
  采用三层架构开发的系统具备下列优点:
  1) 开发效率高。三层架构的代码层次分得很清楚,具有较高的开发效率高。
  2) 相对较低的网络带宽占用。三层架构在服务器一端执行并返回运行结果,显然这种架构在理论上具有最高的运行效率。
  3) 相对较低的本地资源占用。由于多层架构的操作基本都在服务器上进行,所以本地资源占用很少,有利于系统使用的流畅。
  4) 由于数据访问是通过业务层进行的,因此客户端不再与数据库直接建立数据连接,也就是说,建立在数据库服务器上的连接数量将大大减少。同时,业务层与数据库服务器之间的数据连接通过“连接池”进行连接数量的控制,动态分配与释放数据连接,因此数据连接的数量将远远小于客户端数量。
  5) 可维护性得以提高。因为业务规则、合法性校验存在于业务层,所以当业务规则发生改变时,只需要更改业务层的某个组件(如某个DLL文件)即可,而对客户端应用程序不需做任何处理,有些时候,甚至不必修改业务层组件,只需要修改数据库中的某个存储过程就可以了。
  6) 良好的可重用性。如果需要开发相关的web应用,则不必要重新进行数据访问、业务规则等的开发,可以直接调用现有的业务层。
  7) 系统具有良好的可扩充性。可以很方便地与人事管理、OA办公系统等业务挂接。
  5 结束语
  ASP.NET作为微软最新推出的.NET框架的一部分,它为构造新一代动态网站和基于网络的分布式应用提供了强有力的支持。结合MVC设计模式,恰当运用.NET技术,建立大型的web应用和web服务变得更加便捷,所构建的web应用和服务具有良好的健壮性、易维护性和可复用性等优点。文中的三层架构及实现策略具有通用性,对于web应用系统开发极具应用价值。
  
  参考文献:
  [1] 刘如鸿.在蹉跎中一路前行——谈Microsoft.NET战略,程序员,第6期,2004年
  [2] (美)林·巴斯,保罗·克莱门茨,瑞克·凯兹曼.软件架构实践[M].5版.车立红,译.北京:清华大学出版社,2007.
  [3] 浅谈如何建立三层体系结构的ASP应用程序.http://industry.ccidnet.com.
  [5] 龐开放,李龙澍.基于.NET框架的web应用与实现[J].微机发展,2005,15(3).
其他文献
编者按  随着2017年版高中课标提出学习任务群的概念,以及统编语文教材对“1 X”编排理念、教学方式的倡导,群文阅读成为近年来语文学界研究的热点。群文阅读是指教师引导学生围绕一个或多个议题,选择一组结构化文本,通过集体建构进行自主、合作、探究的阅读活动,最终在课堂上达成共识的多文本阅读教学过程。群文阅读对于提升学生语文素养的意义毋庸置疑,然而落实到教学中,仍有一些问题须要进一步探讨和厘清。比如,
【摘要】把经典上成平庸,是当前安徒生童话《卖火柴的小女孩》教学中存在的一个突出问题。为解决这一问题,教师要带领学生走进文本,走进语言文字:一是考察人物活动的环境,探究小女孩被冻死的原因;二是抓住课文重点,比较分析小女孩现实与幻想的强烈反差;三是仔细品味小女孩这一人物形象的角色定位,思考她的悲剧意义。教师要根据学生的学习特点,提出有效的教学建议和策略。  【关键词】阅读教学,《卖火柴的小女孩》,童话
由张世君著、华中科技大学出版社出版的《外国文学史》是一部颇具创新性的专著。本书的内容以欧美文学史为重点,作者详细介绍了从古代至19世纪的外国文学史。  本书具有三个方面的特点。  首先,时代特征鲜明。这一特点首先表现在对多媒体的应用上。进入20世纪以来,随着信息全球化和互联网的迅猛发展,信息传播进入了包括文本、声音和图像等多种媒体形式相结合的多媒体时代。多媒体的发展也为课堂教学带来了翻天覆地的变化
摘要:以高校科研管理系统开发为背景,探讨了UML在该系统建模中的应用问题。在对系统进行需求分析的基础上,采用Rational Rose工具对系统进行了需求模型、静态模型、动态模型及实现模型的建模。此过程中,UML为面向对象系统的开发和支持环境的建造提供了一种丰富、严谨、扩充性强的表达方式。  关键词:UML;浏览器/服务器;建模  中图分类号:TP311 文献标识码:A文章编号:1009-3044
摘要:该文对IEEE 802.11n的标准及其核心技术进行了介绍,并就基于它的无线设备组建的校园网进行了分析,对它在校园网中的应用进行了研究。  关键词:IEEE 802.11n标准;无线网;校园网  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)36-2859-03  Wireless Network with the Standard IEEE 802.11n a
范家成  四川广安市岳池县人,现为四川省美协、书协会员,成都市美协、书协会员。  中国画的本质,就像文人们写文章一样,都是作者内心世界的某种感悟,或者说是作者自身对客观与主观事物以笔墨在宣纸等介质上再现的过程。“人如其画”则是美术评论家们对那些绘画风格已经趋于成熟,画里画外都流露出画家深厚学养的最高评价。年近七十岁的成都花鸟画家范家成所创作的《梅》《兰》《竹》《菊》系列,早在二十世纪八十年代就蜚声
《普通高中语文课程标准(2017年版)》将“思辨性阅读与表达”作为一个学习任务群单独列出,其目标之一就是“发展学生实证、推理、批判与发现的能力,增强思维的逻辑性和深刻性,提高理性思维水平”。近年来,高考写作越来越关注理性思辨与表达。但是,在实际的写作教学中,学生不会思考,尤其是不会具体深入思考,使得理性思辨仅停留在口号上,这已经成为影响学生提升思辨能力的瓶颈。如何突破这一瓶颈?笔者认为不妨尝试运用
书名:英美文学简史与作品赏析  作者:李前  出版社:光明日报出版社  出版时间:2017年  ISBN:9787519435479  定价:45元  文学作为一种艺术形式,是不同国家、不同民族文化和思想的集中表现。阅读不同国家和民族的文学作品,也是学习和了解其文化最直接、最常用的方法。初涉外国文学领域的读者,除了存在语言的障碍,还缺乏对其他国家、民族历史的了解,这也带来了在作品选择上的困难,以及
程星琰《庆祝新中国成立七十周年诗詞选抄》行书 231cm×103cm 2019年  程星琰  字仲琪。1986年6月生于海南,现居成都。中国书法家协会会员,中国硬笔书法协会会员,中国佛像艺术研究中心研究员,四川省书法家协会会员,成都市书法家协会会员,成都市青年书法家协会理事,成都市成华区书法家协会理事。
摘要:情感是语文教学的生命,要使一堂课感情丰沛应该在备课时努力挖掘文本深处的感情,课堂导入时就能紧紧抓住学生的心,课堂高潮处能让学生深入领悟情感,然后通过自己的理解用文字表达情感,这样的课堂才是激情无限的,充满吸引力的。  关键词:“挖”情 “入”情 “悟”情 “表”情  引言  情感是语文教学的生命,是语文课堂的生命源,列宁曾经说过:“缺乏情感的认识,便失去了认识的深入,人的思想,只有被浓厚的情