MVC简述

要理解MVC,我们首先要明白什么是MVC?

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

  在MVC设计模式中:

  •  Model是指要处理的业务逻辑和数据操作,它接收视图请求的数据并返回最终的处理结果;
  •  View视图主要是指的跟用户打交道并且显示给用户看的;
  •   Controller看成是Model和View的桥梁,枢纽,响应请求,处理跳转,使模型和视图保持一致。

下面,我们通过一张图,简单了解一下MVC的处理流程

 

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

使用MVC的优点

  1. 视图重用。多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
  2. 松散耦合。由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松耦合的构件。
  3. 灵活性。控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。

说完优点,免不了要了解一下缺点

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

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

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


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

MVC(Model-View-Controller)是一种常用的软件架构模式,它将应用程序划分为三个基本部分:模型、视图和控制器。MVC的主要作用是将应用程序的逻辑分离,从而使程序更易于维护和扩展。下面是MVC的组成和作用的简述: 1. 模型(Model):模型是应用程序的核心组件,它代表了应用程序的数据和业务逻辑。模型通常包括数据访问对象、业务逻辑组件、数据验证和数据持久化等组件。 2. 视图(View):视图是应用程序的用户界面,它负责向用户展示数据和接收用户的输入。视图通常是HTML页面、Winform窗体或者WPF控件等。 3. 控制器(Controller):控制器是应用程序的中介,它负责处理用户请求并将请求转发给相应的模型或视图。控制器通常包括路由组件、请求处理器和结果处理器等。 MVC的作用包括以下几个方面: 1. 分离关注点:MVC将应用程序的不同关注点分离开来,使得各个部分之间的耦合度降低,从而使应用程序更易于维护和扩展。 2. 提高代码复用性:MVC的模型和视图都是独立的组件,可以在不同的应用程序中复用。控制器也可以在不同的应用程序中复用,从而提高了代码复用性。 3. 提高开发效率:MVC的分离关注点和代码复用性使得开发人员可以更加专注于各自的领域,从而提高了开发效率。 4. 支持多种客户端:MVC可以支持多种客户端,如Web应用程序、桌面应用程序和移动应用程序等。 总之,MVC是一种常用的软件架构模式,它将应用程序划分为三个基本部分,并通过分离关注点、提高代码复用性和提高开发效率等方面提高了应用程序的可维护性、可扩展性和可重用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值