010-85377655

视觉创意设计 / 品牌策略顾问Vision Creative Design / Brand Tactic Consultant
 

如何正确理解MVC模式

返回列表发布日期:2015-04-20 来源于:www.hdskjz.com

      常在网络上,看到有网友误认 MVC 和 3-Tier (三层架构) 是类似的东西,其实,两者的关系是毫不相关的。让我们先了解一下什么是MVC。

      MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。


      上面是来自百度百科对MVC的解释,其实MVC最先流行于桌面应用程序。后来随着JAVA平台的流行,被推荐为Oracle旗下Sun公司Java EE平台的设计模式。而微软推出MVC相对来说比较靠后了。在网上针对asp.net webform开发方式及MVC开发方式的讨论始终存在。其实做为小编的理解,MVC更多的一种理念。在实现应用开发中,只要正确应用了这种理解开发的应用程序,都应该算做MVC的应用。

      至于Microsoft的MVC,只不过利用C#再一次进行了封装,使之具有C#平台的特征,asp.net MVC的Model层采用EF实体框架,而EF实体框架,说白了无非就是Linq的再次封装而已。而Linq又是针对ADO.NET的封装,为开发人员提供了快捷操作及访问数据库的功能。

      总的来讲,微软的 ASP.NET MVC Framework 是为了让 ASP.NET 更适合中、大型的项目,能统一规划、控管整个网站系统的流程,并更有效地分工开发、日后维护、管控某个功能在修改后对系统整体的影响,并将不同的功能作更明确地切割,让不同专长的技术人员各司其职,也顺便提高了代码的可读性,便于测试并达到松散耦合。

      当然,任何设计模式有优点就有其缺点,MVC也不例外。

      首先做为一个初次接触MVC的开发人员来说,完全理解MVC并不是很容易。由于它的内部原理比较复杂,所以需要花费一些时间去思考。同时由于模型和视图要严格的分离,这样也给调试应用程序带来了一定的困难。每个构件在使用之前都需要经过彻底的测试。其次由于MVC本身的特性所在,也增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。

      对于MVC,应该以一种正确的角度来看待它。尤其对于asp.net开发人员来说,对于MVC的认识应该首先确认它只是MVC,然后再确认它是asp.net MVC。MVC也不是万能的,只有针对当前项目进行完整的架构思考及技术分析,才能正确选择所用的平台及技术。

新闻
解决方案
网站建设知识
网站优化知识