知识大全 技术高手讲评ASP.NET MVC 1.0

Posted 框架

篇首语:人生在勤,不索何获。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 技术高手讲评ASP.NET MVC 1.0相关的知识,希望对你有一定的参考价值。

技术高手讲评ASP.NET MVC 1.0  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  最近正在考虑是否在我们的企业级应用中使用ASP NET MVC 框架 因此会一直找使用它的理由 希望大家在关注技术的同时 结合企业应用谈谈自己的看法

   MVC的组成

  Models 访问数据库 装载数据 处理业务逻辑 在项目中体现为数据实体类加业务代理类

  Views 显示数据 用户界面 在项目中体现为aspx页面 偶尔可以加上code behind

  Controller 按路由规则将请求的数据传送给指定页面 用于显示 也可以把用户输入的数据传递给逻辑处理类 它可以包含简单的验证逻辑 不应包含数据访问逻辑

   为何使用MVC

  提出MVC的目的无非是提高开发效率 提高可测试性 官方的ASP NET MVC 指南中指出(以下简称指南) 基于MVC的Web应用程序有如下优点

  [ ]对复杂的程序管理更方便

  It makes it easier to manage plexity by dividing an application into the model the view and the ontroller

  [ ]在开发上有更高的可控性

  It does not use view state or server based forms This makes the MVC framework ideal for developers who want full control over the behavior of an application

  [ ]Routing使软件设计有更多灵活性

  It uses a Front Controller pattern that processes Web application requests through a single controller This enables you to design an application that supports a rich routing infrastructure

  [ ]更加适合测试驱动开发

  It provides better support for test driven development (TDD)

  [ ]团队开发项目中有更高的可控性

  It works well for Web applications that are supported by large teams of developers and Web designers who need a high degree of control over the application behavior

  同时MVC框架还有以下特点

  [ ]将应用程序分成各个组成部份 更有利于测试 MVC框架是基于接口的 这样可以利用MOCK方式来替换你的实际类 做单元测试的时候 也可以不运行Contrllers 这样的测试就更快更灵活

  [ ]MVC框架是可扩展的 你可以自己设计并替换视频引擎 URL导向规则 Action的参数序列等等 同时MVC框架也支持依赖注入和控制反转 你可以从外部注入实例 而不用让类自己创建实例 你还可以通过配置文件的方式创建实例 这样使得测试更方便

  [ ]强大的URL映射组件使得你的应用程序的URL更易理解 同时具备搜索能力 你的URL不必包括文件路径 这样的设计很适合自定义查询引擎和REST架构

  [ ]MVC框架仍然支持ASP NET中的页面 用户控件 母版页作为视图的模板 同时你也还可以使用嵌套母版页 行内表达式(in line expressions) 服务器端控件 模板 数据绑定 本地化等等属于ASP NET已有的东西

  [ ]同时ASP NET中的FORM验证 Windows验证 URL授权 Membership 角色 输出 数据缓存 Session Profile 状态管理 配置 Provider框架等特性在MVC框架中仍然是可用的

  小结 ASP NET MVC 框架是基于ASP NET的 所以他包括了ASP NET中的几乎所有特性 同时他为设计人员提供了一套测试的方案(当然这是所有语言平台MVC模式的共性) 在安装了框架的VS 中还增加了不少功能 可以方便地添加Views Models Controllers

   与三层结构的ASP NET应用程序比较

  与普通ASP NET比较而言 最大的区别还是在于前台开发 后台包括的数据库访问 逻辑处理与以往的方式没有明显区别 在MVC框架中 这些统称为Model 而三层结构中 这些可以称为数据访问层与逻辑处理层

  [ ]页面开发

  用这种模式开发的站点 光看页面的代码的确比以往少一些 但它更多地使用了页面脚本()用于显示数据 在指南中并未提到不推荐使用服务器端控件 但是它提供了大量的HTML HELPER 而且还允许你自己添加Helper 比如DataGridHelper 所以在MVC框架中使用这些Helper会更方便些 不过这对于熟练工来说应该影响不大 因为实际开发中我们更多使用的是Ctrl+C/Ctrl+V 复制几个标签和复制几个Helper方法所花的时间差不多 可能对于新手来说 如果对标签不熟悉的话 用这些Helper的速度会快些 但是这样会影响新手掌握标签 真是矛盾呐

  [ ]数据提交

  普通的ASP Net开发 在提交数据的时候可能还需要通过设置数据绑定 或者在code behind里写封装代码 而在MVC中 框架自动帮助你将页面上填写的数据封装到事先指定的Model中 数据提交操作在MVC框架挺方便 而且在普通ASP NET页面中 经常会出现某个属性无法绑回去的情况 这点在MVC中应该可以得到解决 指南中提到了Routing的使用使得MVC框架下的应用程序在操作自定义查询时变得更方便 实际上在查询方面跟普通方式并没有多大区别 都是对封装好的类进行解析 至于 URL更容易理解 现在应用程序都是从界面上点击来实现操作 很少有人会关注URL本身吧 所以这个优点不算优点

  [ ]单元测试

  从测试上讲 MVC框架确实做得不错 若用MOCK方式测试可以更方便 一个好的WEB应用程序设计就应该将页面呈现与逻辑分开 这点普通ASP NET应用程序也是可以做到的 关键在于设计

  [ ]其它

cha138/Article/program/net/201311/15582

相关参考

知识大全 ASP.NET MVC框架Beta版技术细节

ASP.NETMVC框架Beta版技术细节  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASP

知识大全 ASP.NET MVC框架Beta版技术细节[3]

ASP.NETMVC框架Beta版技术细节[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET MVC框架Beta版技术细节[1]

ASP.NETMVC框架Beta版技术细节[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET MVC框架Beta版技术细节[5]

ASP.NETMVC框架Beta版技术细节[5]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET MVC框架Beta版技术细节[4]

ASP.NETMVC框架Beta版技术细节[4]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 ASP.NET MVC框架Beta版技术细节[2]

ASP.NETMVC框架Beta版技术细节[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 这

知识大全 ASP.NET MVC 2.0之MVC框架简介

ASP.NETMVC2.0之MVC框架简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Web

知识大全 ASP.NET MVC

Web开发模式的颠覆者:ASP.NETMVC  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  年月

知识大全 ASP.NET 的MVC结构之AJAX

ASP.NET的MVC结构之AJAX  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNET

知识大全 自己动手实现Asp.net的MVC框架

自己动手实现Asp.net的MVC框架  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  了解JAV