浅谈Model–View–Controller(MVC)模型

MVC 架构

引用自 WiKi: MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)视图(View)控制器(Controller)

结构示意图

通过下图可以看到,

  • 视图(View)层: 一般指可视化界面
  • 模型(Model)层: 指业务逻辑
  • 控制器(Controller)层: 用来调度View层和Model层,起到桥接的作用。

在这里插入图片描述

MVC的核心

框架设计的最终都是以实现代码的可维护行可分离性,以及可复用性为目的的。

将代码组织结构分为此三层,就是要尽可能将各层相互分离,降低代码耦合性,提高代码的可复用性。当用户操作界面(View)时,View层会先将数据传递给Controller层,然后Controller再将数据转发给Modal

可以试想,如果要制作一个可复用的组件库,首要考虑的就是组件的通用性。如果视图和模型相互糅合,那么通用性必然大大降低。因此,分层设计就有了必要性。

MVC的应用

MVC结构应用很广泛,诸如程序和生活中都存在这种模型的身影。

举一个简单的例子,比如我们常用到的计算器。

在这里插入图片描述
计算器所展示的图形界面就相当于我们的View层,当我们输入数字进行一些操作的时候,这些数字就是Modal层,而Controller就是要去处理这些操作的逻辑。然后Controller返回处理好的结果,重新展示到View中。每个层次分工明确,结构非常清晰。

扩展与思考

如果我们将这种模型进行抽象,可以得出:

  • 模型(Model)层: 存储的数据仓库
  • 视图(View)层: 提供一系列可操作的外部接口可供调用
  • 控制器(Controller)层: 调用接口后,获取数据,然后进行处理返回给视图

举个实际例子,例如: 小商贩在地摊上(View)摆满了货物(Modal),路人看到心仪的物件时,就指(用户行为)给商贩要买那个物品。商贩就把对应商品拿给买家(Controller),同时,地摊上的商品少了一件(视图更新)。这样,一笔买卖就交易完成了,对应的MVC机制是不是也容易理解了一些呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值