mvc - lixidaydayup/plan GitHub Wiki

什么是mvc

model- view- control 是一种软件设计的模式 什么是模式? 是一种解决问题的思路,特别是解决问题的方法,分为哪几个步骤,哪几块相互协作。

model ,view,control分别指的是什么

model:携带数据 view:只负责展现 control: 可以对数据做处理,可以控制数据如何被展现到view

举个例子,model:张三这个人,有属性name,age,address, view:一个身份证的界面,可以显示一个人的信息,control:把张三的name显示到view的左上角 其他显示到右下角

为什么需要mvc 没有mvc会怎么

没有mvc, 一般只有一个复杂的view, 比如一个页面,里面除了界面的代码之外,还有去数据库取数据的逻辑(model),张三的定义(model),怎么把张三的信息显示出来的过程(control),这个页面充满了逻辑代码和逻辑无关的东西的混合,导致2个问题:

  1. 职责不清晰。比如我擅长写页面你擅长写逻辑,我们面对一个混乱不堪的页面根本无从下手,写了都不知道是不是对的。
  2. 写的东西完全没有办法复用。我写了一个form,本来可以给任何对象用的(学生,老师,。。)但是因为充满了张三的定义,根本剥离不出来。

mvc是怎么解决上面的2个问题的

  1. 职责不清晰。现在清晰了,写页面的前端工程师只要关注view,其他不管,有需要显示model信息的地方就调用比如 #data.name 这样 类似这样
<div class="person">${data.name}</div> 

他根本不用关心 data到底是什么 留着给control来填充数据就可以了

同样写后台逻辑的人,也不需要关心页面长什么样,只要把数据取出来整理好,按约定的格式传给control

  1. 复用。 现在完全可以,三块分开各干各的,互相独立不依赖。

总结

总结来说,mvc就是分层,分模块,减小依赖,消除冗杂。

⚠️ **GitHub.com Fallback** ⚠️