MVC简述

      我们已经学习了三层架构,现在学习MVC架构,很多人都会把三层和MVC混淆,那么我们就来看看MVC的庐山真面目。


      一、定义

       MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

      在MVC设计模式中:

      Model是指要处理的业务逻辑和数据操作,它接收视图请求的数据并返回最终的处理结果;

      View视图主要是指的跟用户打交道并且显示给用户看的;

      Controller看成是Model和View的桥梁,枢纽,响应请求,处理跳转,使模型和视图保持一致。


     二、处理流程图

      技术分享

      对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。


      三、优点
       1、视图重用。多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。


       2、松散耦合。由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松耦合的构件。


       3、灵活性。控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。


    四、缺点
      1、增加了系统结构和实现的复杂性。
       对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。


      2、视图与控制器间的过于紧密的连接。
      视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。


      3、视图对模型数据的低效率访问。
      依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。


     MVC的使用会使我们的软件或系统在健壮性,代码重用和结构方面有很大的提升。但并不是所有的系统都适合使用MVC,它会带来额外的工作和复杂性,所以并不适合小型甚至中等规模的系统或软件,花费大量时间将MVC应用到规模并不是很大的应用程序通常会得不偿失。这就需要我们做出抉择。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。