MVC 模式

MVC 模式

MVC 的定义:

    MVC 即 Model View Controller,它是一种软件设计的典范,是把一个应用的输入、处理、输出流程按照 Model、View、Controller 的方式进行分离,也就是将界面和业务逻辑分离。


模型(Model):模型是程序的主体部分,它提供要展示的数据,包含数据和行为,主要提供了模型数据查询和模型数据的状态更新等功能。

视图(View):视图是显示给用户的部分,是对数据源 Model 的一种显示。一个模型可以有多个视图,而一个视图理论上也可以与不同的模型关联起来。

控制器(Controller):控制器是用来处理用户输入的数据它处在模型和视图之间,接收用户输入后将输入的数据进行解析反馈给模型,并调用模型中相应的一个或多个方法。这样 Model 和 View 两者之间就可以做到松散耦合。

这三层是紧密联系在一起的,但又是互相独立的。每一层都对外提供接口,供上面一层调用。这样软件就可以实现模块化,修改外观或者变更数据都不用修改其他层,方便了维护和升级。

这里写图片描述

MVC 模式作用:

    MVC 模式的核心手段是解耦,通过功能划分,把整个应用程序划分成 Model、View、Controller 三个部分,然后控制三个部分之间的通信,从而得到一个结构清晰、功能分布合理、可重用、可扩展、可维护的应用程序。

MVC 处理的基本流程:

    视图接受用户输入请求,然后将请求传递给控制器,控制器再调用某个模型来处理用户的请求,在控制器的控制下,再将处理后的结果交给某个视图进行格式化输出给用户。

例如我们在 Google 上搜索:
在整个搜索引擎中,显示的界面就是"视图层",那些输入需要搜索的关键字就是"数据层",执行搜索的那些内部步骤就是"控制层"。每一层执行不同的功能。

MVC的优点:

1、高内聚,低耦合:通过 MVC 将一个系统分为表现层、业务层和数据访问层。
2、高重用性:通过不同的视图层访问模型的代码,只需要在控制器层对数据做处理,可使模型层的代码不作修改。
3、可维护性:按照 Model、View、Controller 的方式进行分离,使得代码更容易维护,各司其职。 

MVC 的缺点:

1、降低了系统的性能,如果界面简单,遵循 MVC,会增加结构的复杂性,可能产生过多的更新操作,降低运行效率。
2、视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
3、视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值