×

MVC

ASP.NET MVC 框架之MVC概念和ASP.NET WebForm(一)

管理员 管理员 发表于2010-07-29 09:24:43 浏览2926 评论0

抢沙发发表评论

一、MVC模式
MVC是1979年提出的,起初是用于软件的一种架构模式。
由于MVC的定义比较宽泛,所以实际应用中架构师往往根据自己的需要和理解使用,这就产生了很多新的变型,例如:MVP和Observer。
而asp.net mvc也是MVC设计模式在网站开发上的一个变种。
所以,现在提到MVC通常是指用于表现层的设计模式,是所有面向UI设计的基础设计模式。

模型。模型用于管理应用程序域的行为和数据,并响应为获取其状态信息(通常来自视图)而发出的请求,还会响应更改状态的指令(通常来自控制器)。
视图。视图用于管理信息的显示。
控制器。控制器用于解释用户的鼠标和键盘输入,以通知模型和/或视图进行相应的更改。


围绕 MVC 模式构建显示层具有下列优缺点:

优点:

支持多个视图。可以轻松实现允许用户自定义视图。用户界面可以同时显示同一数据的多个视图。从计算机转移到支持手机浏览将更加容易。
适应更改。用户界面要求的更改往往比业务规则快。
方便测试。模型既不依赖于视图,也不依赖于控制器。这是分离的主要优点之一。这样的分离允许模型在独立于可视表示功能的情况下建立和测试。

缺点:

复杂性。MVC 模式引入了新的间接级别,因此稍微增加了解决方案的复杂性。也增加了学习成本。
----------------------------------------------------------------------------------------------

希望对MVC有更深层次了解的朋友,请参考下面的资源。

参考资源:
ASP.NET 表示模式: 微软杂志-中文,对MVC的来龙去脉有比较详细的介绍。
http://msdn.microsoft.com/zh-cn/magazine/dd252940.aspx
模型-视图-控制器(MVC):微软中文-MVC的详细介绍
http://msdn.microsoft.com/zh-cn/library/ms978748.aspx
微软中文-Observer(观察器)
msdn.microsoft.com/zh-cn/library/ms978753.aspx

----------------------------------------------------------------------------------------------

二,ASP.NET MVC与ASP.NET webform

微软声称ASP.NET MVC与ASP.NET webform是并肩的两个选择。ASP.NET MVC并不是为了取代ASP.NET webform。

ASP.NET webform 使用简单,入门容易,但是其服务器端控件在提供了方便的同时,也提供了很多黑盒子,写出效率较高的webform页面程序需要开发人员有着较为丰富的经验。
ASP.NET webform 不易进行单元测试,3-5个人一个项目的公司,极少见到web项目进行单元测试。

ASP.NET MVC。是开放源码的,每个过程都是可以扩展和替代的。框架本身是测试驱动开发的,asp.ent mvc非常容易实现单元测试,能够更方便的保证高质量的代码。另外,还吸取了其它已使用多年的或者广受好评的框架的优秀开发理念和方法,例如约定胜于配置。
---------------------------------------------------------------------------------

参考资源:
微软webcast系列课程:MVC模式与ASP.NET MVC框架概述 (Level 200)
http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032374931&Culture=zh-CN

群贤毕至

访客