MVC开发模式详解

MVC设计模式详解

1.Model-View-Controller(模型-视图-控制器)

MVC设计模式实际上强制性地将程序的输入、处理、和输出分开。

Model-View-Controller实际上担当着不同的角色。

Model:代表着业务数据和业务逻辑处理,(主要包括业务逻辑模块(web项目中的dao类)和数据模块(model类)和JavaBean相同,由Model提供视图的显示数据,同时一个Model可以为多个视图提供业务数据,因此Model也就提高应用程序的可重用性。

View:代表视图,也就是与用户交互的界面,可以给用户显示业务逻辑数据,同时也可以 接收用户输入的数据。(在web项目中以jsp作为view)

注意:在视图中不对数据进行任何的业务逻辑处理。

Controller:代表控制器,用来接收从视图输入的参数,同时调用对应的Model模型对数据进行业务逻辑处理,同时将处理好的数据传递到对应的视图来显示给用户。(在web项目中以Servlet作为控制器)

MVC的处理顺序:首先是用户通过视图将参数输入提交到控制器,控制器调用对应的Model去处理,同时将处理好的数据输出到对应的视图显示给用户。

代表性的MVC框架有:Struts、SpringMVC、Tapestry

2.最典型的MVC就是JSP + servlet + javabean的模式

我们就使用这种模式开发!

疑惑:为什么要使用MVC设计模式?

1)在MVC设计模式中,强制地把应用程序的输入、处理和输出分开,这样就降低了应用程序的耦合性,使得web开发中的每个组件得以分开,分别负责处理不同的事情,对后来的维护会变得更轻松,同时也可以使得开发人员分别专注于不同的开发,美工只专注于视图的开发,程序员只专注于业务逻辑的实现。

2)程序的重用性高。

3.MVC模式用户的请求流程

4.项目的分层开发

在实际的项目开发中,我们通常使用要做到“高内聚,低耦合”那么要做到这一点,就必须使用分层开发,结合MVC设计进行项目开发的时候我们通常会分为控制器层-Service层-Dao层,三层开发,层与层之间通过接口来连接。

分层开发的示例图解如下图:

用户在浏览器中方法JSP页面进行操作的时候整个web应用使用分层开发的内部流程分为8步:

1)用户通过浏览器访问jsp页面也就是view层,在jsp上的所有操作都直接请求控制层
Servlet来完成。

2)控制层获取view层提交过来的参数通过JavaBean对象封装参数,然后将封装好的参数 传递到Model层中的Service中调用Service层进行数据的业务逻辑处理。

3)Service层将控制层传递过来的参数传递到Dao层,然后调用Dao层访问数据库。

4)Dao层根据Service层的参数需求来访问数据库。

5)数据库根据Dao层的操作将数据集返回Dao层。

6)Dao层将获得的数据通过JavaBean对象进行封装,然后将封装好的数据返回给Service 层。

7)Service层将Dao中返回的数据又返回给控制层。

8)控制层将得到的数据转发到对应的jsp页面给用户显示。

时间: 2024-10-14 19:45:35

MVC开发模式详解的相关文章

Extjs MVC开发模式详解

Extjs MVC开发模式详解 在JS的开发过程中,大规模的JS脚本难以组织和维护,这一直是困扰前端开发人员的头等问题.Extjs为了解决这种问题,在Extjs 4.x版本中引入了MVC开发模式,开始将一个JS(Extjs)应用程序分割成Model-View-Controller三层,为JS应用程序的如何组织代码指明了方向,同时使得大规模JS代码变得更加易于重用和维护:这就是Extjs MVC开发模式的初衷. 在官方给出的MVC例子中,我们可以看到一个简单的列表编辑功能,这篇文章就围绕这个功能进

【FastDev4Android框架开发】Android MVP开发模式详解(十九)

转载请标明出处: http://blog.csdn.net/developer_jiangqq/article/details/49613861 本文出自:[江清清的博客] (一).前言: 今天我们的项目继续更新,今天我们主要讲解MVP开发模式以及具体实例. FastDev4Android框架项目地址:https://github.com/jiangqqlmj/FastDev4Android (二).简介: MVP(Model ViewPresenter)模式是著名的MVC(Model View

微信公众号积分系统开发模式详解

微信公众号积分系统开发(李想.185.6504.8478)微信公众号积分系统是什么?微信公众号积分系统有什么用?微信公众号积分模式系统简介:O2O电子商务模式需具备五大要素:独立网上商城.国家级权威行业可信网站认证.在线网络广告营销推广.全面社交媒体与客户在线互动.线上线下一体化的会员营销系统.一种观点是,一家企业能兼备网上商城及线下实体店两者,并且网上商城与线下实体店全品类价格相同,即可称为O2O:也有观点认为,O2O是B2C( Business To Customers)的一种特殊形式. 在

优佳贝开发优佳贝模式详解

优佳贝开发优佳贝模式详解(微or电 158.1500.1390 小凡团队)优佳贝系统开发,优佳贝模式定制,优佳贝软件开发,优佳贝app开发,优佳贝模式系统开发. 互联网颠覆了传统的商业模式,创造了庞大的商业机遇,更改变了世界财富的分配定律!互联网已经无国界,已经引申到世界每一个角落.互联网与电子商务的结合,必将创造一个又一个新奇迹!在历史发展的当今世界.21世纪,整个世界经济发生了巨大的变化!21世纪更是一个移动互联网经济占据鳌头的市场!谁抓住了互联网市场趋向谁就抓住了,在互联网一体化的今天,信

《iOS 7 应用开发实战详解》

<iOS 7 应用开发实战详解> 基本信息 作者: 朱元波    管蕾 出版社:人民邮电出版社 ISBN:9787115343697 上架时间:2014-4-25 出版日期:2014 年5月 开本:16开 页码:382 版次:1-1 所属分类:计算机 > 软件与程序设计 > 移动开发 > iPhone 更多关于>>><iOS 7 应用开发实战详解> 编辑推荐 新版本 全面讲解了iOS 7开发的各种技术 热门技术 基本控件.数据存储.多场景处理.界

《Tomcat与Java Web开发技术详解》思维导图

越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 1Servlet容器加载Servlet类 2Servlet容器创建ServletConfig,初始化配置信息 3Servlet容器创建Servlet对象 4Servlet容器调用Servlet对象的init(ServletConfig) 时机:首次被请求或配置了<load-on-startup>

iOS中MVC等设计模式详解

iOS中MVC等设计模式详解 在iOS编程,利用设计模式可以大大提高你的开发效率,虽然在编写代码之初你需要花费较大时间把各种业务逻辑封装起来.(事实证明这是值得的!) 模型-视图-控制器(MVC)设计模式是被大家广为熟悉和使用的模式,实际上在移动开发中尤其ios开发中,这种模式被发挥到淋漓尽致 MVC设计模式包括三个部分:模型.视图和控制器. 模型包含数据.信息,逻辑,或对象被认为是部分的业务层的iOS应用. 视图包含所有的用户信息的组件,如文本区域,按钮,滑块,被认为是表示层的一个iOS应用.

《HTML 5网页开发实例详解》目录

第一篇  从宏观上认识HTML 5 讲述了HTML 5引发的Web革命.HTML 5的整体特性.HTML 5相关概念和框架和开发环境搭建. 第1章 HTML 5引发的Web革命 1.1  你是不是真的了解HTML 5 1.1.1  通过W3C认识HTML 5的发展史 1.1.2  HTML 5.HTML4.XHTML的区别 1.1.3  什么人应该学HTML 5 1.1.4  一个图告诉你如何学习HTML 5 1.2  浏览器之争 1.2.1  说说这些常见的浏览器 1.2.2  浏览器的兼容烦

Unity3D游戏开发之详解 Animation类和Animator类

Unity3D游戏开发之详解 Animation类和Animator类 Animation类 animation组件用于播放动画.可以指定动画剪辑到动画组件并从脚本控制动画播放.在Unity的动画系统基于权重并且支持动画融合,叠加动画,动画混合,标签和完全控制动画播放的各个方面. 如果想播放一个简单的动画,可以使用Animation.Play:如果想在动画之间交叉淡入,可以使用Animation.CrossFade:如果想改变动画模式(循环,一次,乒乓),可以改变动画导入设置里面的动画帧的Wra