ASP.NET MVC框架有什么优点?

广告:

1. 通过把一个应用程序分离成相互独立的模型、视图和控制器三部分而进一步提高了应用程序复杂性的管理。

2.不再使用视图状态或基于服务器的表单技术。这使得MVC框架特别有利于想全面控制一个应用程序的行为的开发人员。

3.使用一种前端控制器(Front Controller)模式并通过单一的控制器来处理Web应用程序请求。这一特征使你有可能设计出一个支持极其丰富的路由基础结构的应用程序。有关于前端控制器的更多的信息,请参考http://go.microsoft.com/fwlink/?LinkId=106357。

4.提供对于测试驱动开发(TDD)的大力支持。

5. 实现应用程序基本任务(输入逻辑,业务逻辑和UI逻辑)的分离,支持测试及测试驱动开发(TDD)。MVC框架中所有的核心契约都是基于接口的,因此十分利于使用mock对象(这是一些模拟应用程序中实际对象的模拟对象)测试工程。你可以对应用程序进行单元测试而不必在真正的ASP.NET进程中运行控制器,这加快了单元测试的速度和灵活性。你可以使用与.NET框架相兼容的任何单元测试框架测试你的工程。

6. 提供了一个可扩展的和可插接的框架。ASP.NET MVC框架组件的设计支持用户十分容易地对它们进行替换或定制。你可以设计并加入你自己的视图引擎,URL路由策略,行为方法参数串行化,以及其它组件。ASP.NET MVC框架还支持使用现有依赖性注入(即“Dependency Injection”,简称“DI”)和控制反转(IOC)容器模型。其中,DI允许你把对象注入到一个类中,而不是依赖于类去创建对象本身。而IOC指定,如果一个对象要求使用另一个对象,那么第一个对象应该从一个外部源(例如一个配置文件)得到第二个对象。这一支持极有利于对工程的测试。

7.实现了一个强有力的URL映射组件,支持你在应用程序中构建易于理解的可搜索的URL(而不是像诸多Web应用URL中的那种极其复杂的表达方式)。如今,URL中不必包括文件扩展名,而且其设计还支持URL命名模式。因此,这种模式有利于搜索引擎优化(SEO)和REST(表述性状态转移)寻址。

8.支持在现有ASP.NET页面(.aspx文件)、用户控件(.ascx文件)以及母版页面(.master文件)标记文件中把标记用作视图模板。你可以在使用ASP.NET MVC框架的过程中继续使用现有ASP.NET特征,例如嵌套的母版页面,内联表达式(<%=%>),声明性服务器控件,模板,数据绑定,本地化,等等。

9. 支持现有ASP.NET特征。ASP.NET MVC框架支持你使用例如表单和Windows认证,URL授权,会员和角色,输出缓冲和数据缓冲,会话和配置状态管理,健康监视,配置系统,提供者架构,以及其它ASP.NET特征。

10.一个MVC应用程序的三个主要组件之间的松耦合特征还推动了平行开发。例如,一名开发人员可以开发视图,而另一名开发人员则在开发控制器逻辑,第三名程序员则可以专注于模型部分的业务逻辑的开发。

11.MVC架构的分层思想是值得借鉴的。一般我采用如下架构:

a UI 表示层,处理与用户的交互,获取显示用户数据。

b BLL 业务逻辑层 由用户提交的数据进行处理,调用数据访问层接口,并把处理结果返回UI。

c IDAL 数据访问层定义接口 定义了数据访问的标准接口,并由具体的数据库实现。

d DALFactory 数据访问层的抽象工厂,负责数据库访问对象的创建。

e SqlServerDAL SQL Server数据库的访问接口的实现。

f Model 业务实体。

g SystemService 系统服务层 提供系统公共验证,消息显示,公共函数等。

可以根据项目大小选择。一般分层UI,BLL,SqlServerDAL和SystemService四个模块。

优点:a.数据库端可以灵活配置,通过系统配置注入,可以方便进行数据库系统的替换。

b.增加逻辑层,可以复用业务逻辑,实现业务逻辑的分离,降低系统的整体耦合性

缺点: 增加逻辑层,代码量增加,性能相对降低。

 

参考:

基于Web表单Web应用程序的优点:

传统型基于Web表单的框架能够提供下列优点:

1. 支持事件模型。此模型能够保留HTTP传输过程中的状态,而这十分有利于在线业务式Web应用程序的开发。基于Web表单的应用程序提供大量的事件,所有这些事件都得到数以百计的服务器控件的支持。

2.使用一种页面控制器(Page Controller)模式,此模式能够把许多功能添加到单个的页面。有关于页面控制器的更多的信息,请参考http://msdn.microsoft.com/zh-cn/library/ms978764.aspx。

3.使用视图状态或基于服务器的表单,这使得状态信息管理更加容易。

 

 

广告:

相关内容

编辑:Admin 时间:2012/3/7 9:59:04 阅览:5493   返回    
ASP.NET MVC
框架
扫描关注53BK报刊官网
扫描关注阅速公司微信