MVC的已不是什么新鲜的东西了。顾名思义,MVC:Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。是一种软件设计的典范。能够将代码耦合度降到更低。由于MVC在开发中有很多地方,很多语言都可以用到,例如java。这里我们就以ASP.NET MVC举例说明。
就目前来讲,使用MS的VS工具开发的Web应用程序主要有两种方式:一种是常用的创建Asp.net Web Forms,另外一种就是今天着重介绍的Asp.net MVC.
ASP.NET MVC Framework是微软在ASP.NET中所添加的一组类别库,这组类库可以使用Model-View-Controller的设计模式来开发ASP.NET的应用程序。
Model:包括数据、验证规则、数据访问和业务逻辑等应用程序信息。 View:封装了应用程序的表示层,是呈现给使用者看的信息。 Controller:包括控制流逻辑,控制信息流和应用程序的执行。接受来自用户的指令与数据,并将Model与View做整合的控制器,当服务器接到对ASP.NET MVC应用程序的要求时,服务器(IIS)会先使用UrlRoutingModule(ASP.NET Routing的 HTTP 模块),由它来解析是否有包含ASP.NET MVC应用程序的URL,若有,则会产生一个MvcRouteHandler对象,这个对象会装载执行的必要信息,并且会呼叫包含在URL中的Controller的Execute方法来执行工作。 Web应用程序MVC化的优点有: - 更易操作HTML标记
- 更方便地与Jquery整合,实现Ajax技术
- 创建SEO友好的URLS
- 驱动式开发更容易
- 耦合度低:这个是开发人员在实际操作中认可度很高的,如果代码不进行相应的分离,一旦在需要改动的时候,会造成连锁的错误(所谓蝴蝶效应),从而使得软件开发周期加长
- 重用性高
不管怎么说,MVC给我们带来了一种能够很好的对“模型,业务逻辑,以及表现层”良好分离的模式。很可能在今后大型的网页或者系统都会用MVC+相应的架构模式去开发(目前也有系统用MVC模式去重写),今天先热热身,后面我会就我在项目中的一些问题或者经验和大家进行交流和分享。
|