欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

简述什么是mvc模式(javaweb实现注册功能)

程序员文章站 2023-11-25 19:35:22
mvc设计模式的理解mvc是一种设计模式(design pattern),也就是一种解决问题的思路和方法;mvc是模型(model), 视图(view), 控制器(controller) 3个单词的缩...

mvc设计模式的理解

mvc是一种设计模式(design pattern),也就是一种解决问题的思路和方法;

mvc是模型(model), 视图(view), 控制器(controller) 3个单词的缩写,几乎所有的web框架都是建立在mvc模式上。

模型(model)

指数据模型,主要是数据、业务逻辑和业务规则;开发初期最重要的任务,该部分的代码写的好,后面就可改的少,开发快速。

以下是model的几个原则:

1. 数据、行为、方法是model的主要内容;

2. 实际工作中,model是代码量最大、最复杂的地方,大量的业务逻辑都在这里表示

3. model提供的数据都是原始数据,也就是说不带任何表现层的代码,比如在输出的数据中添加html标签,这是view层的工作;但是model是可以提供有结构的数据的:数组结构、队列结构、甚至其他的model,这个不是表现层的格式,而是内存中的表现

4. 与输出不同的是,输入是可以带有表现层格式的数据,比如文章的内容里可能带有html标签,model一般都会这些输入数据进行过滤、验证、规范化等预处理。

5. 注意与controller分开,model是处理业务方面的逻辑,controller只是简单的协调model和view之间的关系;只要是与业务有关的,就该放在model里面。好的设计,应当是胖model,瘦controller。

视图(view)

指视图,就是呈现给用户一个界面,是model的表现形式,也是手机用户输入的地方;

view主要负责显示,一切跟显示界面无关的东西,都不应该出现在这里,因此view里一般不会出现复杂的判断句、复杂的运算过程。

关于view的几个原则:

1. 负责页面显示,以html为主

2. 一般没有复杂的判断句、复杂的运算过程,可以有简单的循环语句、格式化语句。

3. 从不调用model的写方法,也是就是只会从model内取数据,不会直接修改model

4. 一般没有准备数据的代码,如查询数据库,组合成一定格式等,这些都是放在controller里面,然后分配给view;

也就是说view用到的数据,都是可以直接用的变量。

控制器(controller)

指控制器,主要用来相应用户请求,决定使用什么师徒,用什么数据来显示。

controller的几个原则:

1. 处理用户请求,因此,对于reqeust的访问代码应该放在controller里面,比如 $_get $_post 等。但仅限于获取用户请求数据,不应该对数据有任何操作或预处理,这些工作应该交由models来完成。

2. 调用models的读方法,获取数据,直接传递给视图,供显示。 当涉及到多个model时,有关的逻辑应当交给model来完成。

3. 调用models的类方法,对models进行写操作。

4. 调用视图渲染函数等,形成对用户reqeust的response。