MVC详解:模型(Model)-视图(View)-控制器(Controller)

MVC(模型-视图-控制结构)是软件开发中常用的一种架构模式。它强制性的将输入、处理和输出分开。使应用程序被分成三个核心部件:模型 (Model)、视图(View)和控制(Controller)。它们各自处理自己的任务,有效地分离存储数据和展示数据功能模块以降低它们之间的耦合度。

MVC体系结构:

MVC详解:模型(Model)-视图(View)-控制器(Controller)

模型层主要负责保存和访问业务数据,执行业务逻辑和操作。这一层是现实业务功能的核心。模型”有对数据直接访问的权力,例如对数据库的访问。“模型”不依赖“视图”和“控制器”,也就是说,模型不关心它会被如何显示或是如何被操作。

视图层主要负责显示模型层的内容。它指定来自模型层的数据如何被显示出来,当模型变化的时候,它将自动更新。另外视图层也会将用户的输入传送给控制器。

控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。

可见:

  • (控制器Controller)- 负责转发请求,对请求进行处理。
  • (视图View) – 界面设计人员进行图形界面设计。
  • (模型Model) – 程序员编写程序应有的功能

MVC的处理过程:

首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

MVC优点:

在模型层、视图层和控制层之间划分责任可以减少代码的重复度,并使应用程序维护起来更简单。同时由于数据展示和业务逻辑的分离,在新的数据源加入和数据显示变化的时候,数据处理也会变得更简单。

  • 低耦合性
  • 高重用性
  • 易于维护

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/5108.html

(2)
江山如画的头像江山如画管理团队
上一篇 2020年2月23日 上午11:28
下一篇 2020年2月23日 上午11:35

99%的人还看了以下文章

  • 上机实战六 Servlet的开发 

      建议学时:6 2学时 一、编写Servlet,FirstServlet.java 通过URL访问该Servlet,显示这是我的第一个Servlet。 二、使用servlet实现求圆的面积,在r4.jsp页面提交表单,servlet负责接收用户请求、计算并显示圆的面积。 具体页面效果如下: 三、jsp+javabean+servlet实现求三角形的面积和周…

    2018年11月13日
    9.4K0
  • 如何修改从Maven中心仓库下载到本地的jar包的默认存储位置?

    为什么要修改从Maven中心仓库下载到本地的jar包的默认存储位置? 把jar包下载到本地的好处就是,当编译时,会优先从本地的jar包去找,如果本地存在,就直接拿来用,如果不存在,就从Maven的中心仓库去下载。 第一次执行”mvn compile”和”mvn clean”这两个命令时,Maven会去中央仓库下…

    2023年1月28日 编程开发
    1.2K0
  • MySQL存储过程快速入门

    什么是存储过程 创建一个简单的存储过程 存储过程中的参数 存储过程的优势和不足 一、什么是存储过程 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。 一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。 存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能 MySQL…

    2018年12月20日
    3.1K0
  • itbegin编程教学云课堂使用介绍

    进入https://www.itbegin.com/apps    点击右上角 登录 登录后,点击院校通–院校 点击进入个人中心 点击“web开发技术课堂”,进入相应课程 点击:我的预习,可以看到预习的知识点,时间要求。请同学们一定要在结束时间前完成任务! 点击查看,可以看到需要预习的知识点,预习以观察,查看效果为主。 如要求:观察各标签的使用及…

    2018年3月14日
    5.7K0
  • ubuntu打开命令行终端的三种方法

    1、方法一(推荐使用) 快捷键 Alt + Ctrl + T 2、方法二  3、方法三

    2022年8月16日
    2.1K0
  • python 中time.gmtime()与localtime()的区别

    gmtime转换的时间是UTL时间,与北京时间相差了8个小时 import time print(time.time()) print(time.strftime(“%Y-%m-%d 星期%w %H:%M:%S”,time.localtime())) print(time.strftime(“%Y-%m-%d 星期%w %H:%M:%S”,time.gmti…

    2022年7月15日
    4.3K0

发表回复

登录后才能评论