MVC编程模式

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

Model(模型)表示应用程序核心(比如数据库记录列表)。

View(视图)显示数据(数据库记录)。

Controller(控制器)处理输入(写入数据库记录)。

MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。

通常模型对象负责在数据库中存取数据。

View(视图)是应用程序中处理数据显示的部分。

通常视图是依据模型数据创建的。

Controller(控制器)是应用程序中处理用户交互的部分。

通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。

MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

MVC 模式结构

MVC 模式将应用分为模型、视图和控制器三个部分:

1. 视图:数据的展现。

视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处

理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。

2. 模型:应用对象。

模型是应用程序的主体部分。 模型代表了业务数据和业务逻辑; 当数据发生改变时,它要负责通知视图部分;一个模型能为多个视

图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。

3. 控制器:逻辑处理、控制实体数据在视图上展示、调用模型处理业务请求。

控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。

MVC 模式运行机制

如下图所示为 MVC 模式运行机制:

用户向服务器提交的所有请求都由控制器接管。接受到请求之后,控制器负责决定应该调用哪个模型来进行处理;然后模型根据用

户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。

模型就是封装业务逻辑和数据的一个一个的模块。

控制器就是调用这些模块的(java中通常是用Servlet来实现,框架的话很多是用Struts2来实现这一层)。

视图就主要是你看到的,比如交互界面等.

最新文章

  1. cstore_fdw的安装使用以及源码分析
  2. 【SRM】649 t2
  3. WCF错误:由于目标计算机积极拒绝,无法连接
  4. Java 单列模式(Singleton)
  5. 20145301&20145321&20145335实验一
  6. idea使用maven启动tomcat
  7. ExtJs布局之table
  8. [Django实战] 第5篇 - 用户认证(修改密码)
  9. php随机获取验证码
  10. jQuery拓展简易快速实现触摸效果
  11. ORACLE设置自启动记录
  12. Eclipse Creating a New Runnable JAR File 清理工作空间下的配置文件
  13. Python杨辉三角
  14. C++课程的第一次实验
  15. autohotkey快捷键
  16. node.js " The requested service provider could not be loaded or initialized"
  17. JS 运行、复制、另存为 代码。
  18. day40 python MySQL【四】 之 【索引】【视图】【触发器】【存储过程】【函数】
  19. python读取shp
  20. 彻底澄清c/c++指针概念

热门文章

  1. 教程:SpagoBI开源商业智能之XML Template 图表模板
  2. DWZ使用中遇到的坑
  3. hosts 不启作用的解决办法
  4. Scala学习笔记(一):入门
  5. Failed to read schema document 'http://code.alibabatech.com/schema/dubbo/dubbo.xsd'问题解决方法
  6. 【laravel5.6】 laravel中间件内生成参数并且传递到控制器的2种方法
  7. 不可思议的颜色混合模式 mix-blend-mode (转)
  8. (转)使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解
  9. 离线安装 Android 4.0 SDK
  10. {MySQL的库、表的详细操作}一 库操作 二 表操作 三 行操作