《第1讲:MVC架构概述PPT.ppt》由会员分享,可在线阅读,更多相关《第1讲:MVC架构概述PPT.ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三部分第一讲第三部分第一讲 MVC架构概述架构概述1本章目标本章目标u了解了解Web开发世界的架构演进开发世界的架构演进uASP.Net MVC的应用情况的应用情况uASP.Net MVC概述概述u设计第一个设计第一个ASP.Net MVC22Web世界的开发世界的开发 uWindows应用架构时代应用架构时代uWeb应用架构时代应用架构时代3Web架构时代架构时代uASP&PHP&JSP时代时代uASP.Net 2.0时代时代(2004-2005)uAJAX时代时代(2006-2007)uFlash&Silverlight时代时代(2007-2008)uASP.Net MVC时代时代(20
2、08-2009)4ASP&PHP&JSP时代时代 优点优点1.语法简单语法简单2.数据访问快捷(全靠数据访问快捷(全靠ODBC撑着)撑着)不足不足1.没有架构概念没有架构概念2.显示和数据混编显示和数据混编3.无法测试无法测试ASP绑定显示至今仍然是个麻烦的事情绑定显示至今仍然是个麻烦的事情 5ASP.Net 2.0时代时代 u服务器端控件服务器端控件u皮肤和样式皮肤和样式u数据源控件与数据绑定控件数据源控件与数据绑定控件u内建若干内建若干Services eg:membership,webpart 提出主题和控件皮肤概念。提供了分页和排序,提出主题和控件皮肤概念。提供了分页和排序,可以绑定数
3、据源自动生成数据。可以绑定数据源自动生成数据。webpart可以可以把某区域的服务器控件组装到某容器里把某区域的服务器控件组装到某容器里6ASP.Net 2.0时代时代优点优点1.开发快捷开发快捷2.部署方便部署方便不足不足1.控件导致代码冗余控件导致代码冗余(特别是特别是GridView)2.服务器端与用户端交互过于频繁服务器端与用户端交互过于频繁3.无单独的无单独的UI定制定制4.无法进行完整测试无法进行完整测试7AJAX时代时代 u自动提交用户数据的时代自动提交用户数据的时代u良好用户体验的开端时代良好用户体验的开端时代u前 端设计师彻底和业务逻辑说再见的时代,他的技术并不新,她就是拿J
4、avascript的xml,http对象模拟请求,这个请求是异步请求,他是通过 Javascript引擎中提供的脚本,在用户不知不觉中就提交了数据,这一小技术的开始使得用户体验大大上升。但因为各浏览器之间标准不统一,用起来也 不方便,但是今天由于已经封装好了Javascript的类库,因此使用起来非常的方便。8AJAX时代时代u优点优点u1.用户体验内容丰富用户体验内容丰富u不足不足u1.开发和调试内容繁琐开发和调试内容繁琐u2.无法进行完整的测试无法进行完整的测试9Flash与与Silverlight时代时代 u-富有表现力的一代富有表现力的一代u优点优点u-表现力丰富表现力丰富u不足不足u
5、-会用的人少会用的人少10ASP.NET MVC与与WebForm11ASP.NET MVC与与WebFormWebForms的优点的优点 将将Web开发抽象成一个组件模型开发抽象成一个组件模型 使用方便,入门容易使用方便,入门容易 使控件产业大大加强使控件产业大大加强WebForms的缺点的缺点 封装太强封装太强这还是这还是Web开发吗?开发吗?入门容易,用好难入门容易,用好难 不易进行单元测试,前后台不易配合不易进行单元测试,前后台不易配合不过不过WebForms也在成长也在成长ASP.NET MVC的优势的优势 直接,直接,Web开发就是开发就是Web开发开发 易于对界面逻辑进行单元测试
6、易于对界面逻辑进行单元测试 易于后台与前台开发人员的配合易于后台与前台开发人员的配合 ASP.NET MVC是在是在ASP.NET平台下开发平台下开发Web应用程序的另一选择,并非为了取代应用程序的另一选择,并非为了取代WebForms。12ASP.NET MVC概述概述u表现模式(表现模式(UI/Presentation Pattern)u三个角色三个角色 1.Model:用于存储数据的组件(与领域模型概:用于存储数据的组件(与领域模型概念不同)。念不同)。2.View:根据:根据Model数据进行内容展示的组件数据进行内容展示的组件 3.Controller:接受并处理用户指令(操作:接受
7、并处理用户指令(操作Model),选择一个),选择一个View并输出内容。并输出内容。13ASP.NET MVC概述概述14ASP.NET MVC概述概述u两种分离两种分离 1.View和数据(和数据(Model)分离)分离 能够为相同的能够为相同的Model开发不同的开发不同的View进行展示进行展示 分离可视与不可视得组件,能够对分离可视与不可视得组件,能够对Model进行进行独立测试(只有独立测试(只有View到到Model的单向引用)的单向引用)2.View和表现逻辑(和表现逻辑(Controller)分离)分离 分离逻辑与具体展示,能够对逻辑进行独立测试分离逻辑与具体展示,能够对逻辑
8、进行独立测试(只有(只有Controller到到View的单向引用)的单向引用)15MVC与三层架构与三层架构16MVC与三层架构与三层架构 MVC是表现模式(是表现模式(Presentation Pattern)三层架构是架构模式(三层架构是架构模式(Architecture Pattern)没有太多可比性没有太多可比性 17ASP.NET MVC的重要理念的重要理念u约定胜于配置约定胜于配置 Convention over Configurationu配置能够带来配置能够带来 1.扩展性扩展性 2.复杂性复杂性u很多时候约定依旧足够了很多时候约定依旧足够了 XxxController ViewControllerNameXxx.aspx18ASP.NET MVC的组件协作的组件协作u URL Routingu Controller&Action Executingu View Rendering19Vs2008环境下开发环境下开发MVC1.安装安装AspNetMVC2_VS2008.exe2.设计第一个设计第一个ASP.Net MVC220