ChangeWorld
——科技改变世界

  mvc 即 模型-视图-控制器 三层架构模式的开发框架,其目的是实现web程序系统职能的分工。

  mvc的三层架构的显著优势是:

1. 高内聚,低耦合。mvc架构中 视图层 业务逻辑层 数据访问处理层 三层由controller(控制器)接收视图层传递来的用户输入信息 分配用户需要的数据到相应的视图(view)中           而model则担任数据访问及处理,业务逻辑和业务流程的工作。 层层分离 而各个模块内部的的数据代码依赖性又是高度聚合的。根据程序员多年的开发经验,如果开发较大 复杂度较高的项目时采用这种开发模式能够对项目进行系统的管理和维护 也大大降低了测试的工作量。

2.高重用性。mvc的低耦合性决定了它的高度重用性。由于它模块之间是低耦合的,开发出的程序可以多次套用于类似的项目,只需修改业务逻辑层的少数代码就能实先程序重用,各模块之间的依赖性较小,代码的修改不会影响其他模块的代码功能。再者mvc架构支持不同的视图访问服务器端的代码,如pc浏览器以及日后会非常流行的手机端无线浏览器(wap),只需写出多种不同视图接收数据的代码就能够把项目的核心功能代码在不同的平台实现,这就避免了项目重新开发造成的资源损失,也大大降低了代码重复性。

3.提高开发效率,加速了程序开发。使用mvc模式开发程序很大程度上缩减了开发时间,因为mvc开发模式中分工明细,程序员各司其职,如功能代码程序员(asp.net程序员)专注于开发核心功能和业务逻辑及流程,显示界面代码程序员(Html JS 程序员)集中精力开发表现层。同时也有利于工作人员的工程化管理和维护以及程序的测试工作

  当然mvc也有缺点,它没有明确的定义而且内部原理比较复杂,需要花费一定的时间思考 计划如何将mvc架构应用到自己的项目中,运用mvc架构也会带来额外的工作量 所以 它适合开发较大 复杂度较高的大型及中型的项目,如果将mvc用于小项目的话反而会无谓的浪费一些时间 得不偿失。mvc要求各模块严格的分类,这就加大了调试人员的工作量,并且在使用每个部件的时候需要经过彻底的测试。

mvc框架与三层架构的区别:

  很多人吧mvc框架与三层架构混为一谈,这是一个误区。虽然mvc架构同样也有三层,但此三层非彼也。传统三层架构:视图层 业务逻辑层 数据访问层 。mvc中同样也有视图层,但是mvc中将业务逻辑层和数据访问层都划到model中,又多出一个controller(控制器)层,做为一个桥梁(或者理解成一个驱动器,驱动其余二层的数据交换)在视图层和model层之间传递数据。mvc继承了传统三层架构的优点:视图层和业务逻辑层及数据访问层分离。并且mvc使各模块之间高度分离,使用controller进行桥接两层,而不像传统的三层结构三层自发的链接 传递数据,这样mvc耦合度更低,解决了传统三层架构的向下依赖的缺点,改善了级联修改的连锁修改体制。相比传统三层架构,mvc在一定程度上提高了系统的效率,体现在mvc将数据访问层和业务逻辑层整合到一起,而不让业务逻辑层充当中间层,故而提高了系统效率。

   随着mvc的发展,mvc显著的优点被越来越多的人所认可,近来微软也推出了自己的mvc设计模式。所以对.net方向(单方向的新手)的程序员来说,mvc还是一门新技术,加之mvc内部原理复杂,一时还难以驾驭,不过通过学习加实践,大家会慢慢的适应这门技术。mvc在程序开发中的作用是不可估量的,特别是在大中型项目中。

 

posted on 2010-11-29 19:35  ChangeWorld  阅读(3722)  评论(3编辑  收藏  举报