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)
江山如画的头像江山如画管理团队
详解如何在myeclipse中运行JSP,Run As none applicable(图)
上一篇 2020年2月23日 上午11:28
下一篇 2020年2月23日 上午11:35

99%的人还看了以下文章

  • Java GUI编程高级实例一:给应用程序添加菜单

    一、给GUI应用程序添加菜单 菜单的作用:给应用程序设置操作菜单。 菜单组成 JMenuItem—菜单项,直接指向一个具体的操作 JMenu—菜单,其中可加入菜单项(JMenuItem)和菜单(Jmenu) JMenuBar—-菜单栏,在其中可以加入菜单(JMenu) 菜单的创建 JMenu、JMenuBar和JMenuI…

    2020年1月22日
    10.9K0
  • 10秒倒计时、考试结束倒计时功能实现代码-JS

    注册成功或登录后网页会有倒计时,如5秒后跳转到哪个页面的功能。 在做一些在线测试,网上考试系统时,会用到倒计时功能。 如网上考试系统里,会有时间提示离考试结束还有多长时间,临近考试结束剩10分钟,还可以弹窗提示考生。 JavaScript实现倒计时功能代码 <!DOCTYPE html> <html> <head> &lt…

    2020年11月1日
    4.8K0
  • Java GUI编程高级实例二:弹出式菜单及添加工具栏

    三、 为组件定制弹出式菜单 问题的提出  为“Java Editor”程序的文本编辑区域定制如图所示的的弹出式菜单。 菜单中有五个菜单项组成,分别指示了不同的字体风格,可通过菜单项的选择实现文本区域中文本字体和字号的改变。 用JPopupMenu类建立弹出式菜单 建立弹出式菜单 预先定义一个继承JPopupMenu类的子类,弹出式菜单施加给的对象应由构造方法…

    2020年1月22日
    9.5K0
  • java中类、接口、方法、变量命名时的大小写问题

    类或者接口 一个单词:首字母大写 举例:Student,Demo 多个单词:每个单词首字母大写 举例:HelloWorld,StudentName 方法或者变量 一个单词:首字母小写 举例:name,main 多个单词:从第二个单词开始,每个单词首字母大写 举例:studentAge,showAllNames() 常量 全部大写 一个单词:大写 举例:PI …

    2020年11月15日
    4.1K0
  • 第三课:第一个maven项目Hello Maven

    第三课:第一个maven项目Hello Maven第三课:第一个maven项目Hello Maven第三课:第一个maven项目Hello Maven第三课:第一个maven项目Hello Maven

    一、Maven的简单使用 1.1、Maven项目的目录约定 MavenProjectRoot(项目根目录)|—-src|     |—-main|     |         |—-java ——存放项目的.java文件|     |         |—-resources ——存放项目资源文件,如sprin…

    2023年1月27日 编程开发
    11.7K0
  • MXNet安装与常见问题解决:Encountered error while trying to install package

    MXNet安装与常见问题解决:Encountered error while trying to install packageMXNet安装与常见问题解决:Encountered error while trying to install packageMXNet安装与常见问题解决:Encountered error while trying to install packageMXNet安装与常见问题解决:Encountered error while trying to install package

    本文主要讲了什么是MXNet;如何在CPU、GPU上安装MXNet;以及对MXNet安装过程中出现的常见问题给出了具体的解决方法。

    2023年1月14日 编程开发
    11.7K0

发表回复

登录后才能评论