Web MVC之我见

结合个人理解,说一下MVC的概念,欢迎指正

目标

MVC是一种设计模式,核心目标是实现model和view的解耦

概念

  • Model表示数据,Model本身不关心数据的来源和数据改变带来的VIew变化
  • View表示视图,在Web中,View就是页面展示内容,View监视Model,随Model变化展示相应的内容
  • Controller负责响应视图的变化,并对Model做相应的修改
  • User能看到View的输出,也能对View做输入,从而触发Controller的响应
  • MVC所有通信都是单向的。用户操作 -> View (负责接受用户的输入操作) -> Controller(业务逻辑处理)-> Model(数据持久化)-> View(将结果通过View反馈给用户)

解耦

  • View不关心Model的实现,只对Model的当前值作出视图变化
  • View也无需关心Controller的实现,对于同一个用户输入,不同的Controller实现可以有不同的响应逻辑,从而达到不同的业务目标

实现

  • 原生的View实现是直接操作HTML,辅助以各种UI库。目前一般认为,React是实现View层的一个库
  • Model对JS维护的数据对象,要实现View对Model的监听一般需要引入一个观察者工具(ES6的Proxy也可以)。目前常见的Model库是Mobx,不仅能管理数据,还实现了观察者模式,自带数据观察能力
  • Controller的核心是根据业务逻辑实现对输入的响应,在实现上可以尽量创建独立的Controller文件来实现这些业务逻辑,做到和View、Model的解耦
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值