[MVC设计模式及其改进版在Java,Web开发中的应用]直销模式奖金分配.docx

上传人:1564****060 文档编号:92498828 上传时间:2023-06-05 格式:DOCX 页数:6 大小:15.42KB
返回 下载 相关 举报
[MVC设计模式及其改进版在Java,Web开发中的应用]直销模式奖金分配.docx_第1页
第1页 / 共6页
[MVC设计模式及其改进版在Java,Web开发中的应用]直销模式奖金分配.docx_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《[MVC设计模式及其改进版在Java,Web开发中的应用]直销模式奖金分配.docx》由会员分享,可在线阅读,更多相关《[MVC设计模式及其改进版在Java,Web开发中的应用]直销模式奖金分配.docx(6页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 MVC设计模式及其改进版在Java,Web开发中的应用直销模式奖金分配 【摘要】对MVC的定义、功能以及所包含的三局部内容进展阐述,并通过其在Java应用程序中的演化过程予以例如解析,从MVC在Java单机版上的应用即观看者模式,逐步过渡到Java Web开发应用中,并赐予具体的例如演示和说明。 【关键词】计算机应用技术; MVC;观看者;设计模式;JSP;Servlet;Java Web;大事驱动机制1.定义阐述设计模式:是经过验证的,用于解决特定环境下、重复消失的特定问题的解决方案。经过验证:说明这个设计模式是相比照较优秀的方案,是可行的方案,这样才具有学习、讨论和使用价值。MVC设计模

2、式:是一种架构型设计模式,它本身不引入新的功能,只是指导我们把Web应用构造做的更加合理,实现规律与页面相分别。功能型设计模式:如单例(保证类的实例唯一)、工厂(选择实现)、值对象(封装数据)、DAO(屏蔽变化)等等。架构型设计模式:构造性的设计模式,只是让程序更具有构造化。Java中MVC来源思路及进化过程:Servlet=Java+HTML字符串,问题产生了,由于拼字符串太麻烦解决方案:HTML独立出来从而得到JSPHTML+Java脚本(问题又产生了,能解决Servlet问题,但是带来了页面和规律混杂) 解决方案:MVC(指导我们让Web应用程序构造更加合理)。2.MVC三局部内容及各局

3、部功能如下Model:VO+规律层:可以理解为后台局部。功能:封装应用状态、响应状态查询、暴露应用功能。View:视图层的三大功能,典型的如修改页面,触发大事而不处理,纯jsp自己处理,提交给Controller处理。功能:产生HTML响应、恳求模型更新、供应HTML表单用于用户恳求。比照:纯jsp页面中大事处理与页面展现混杂在一起,MVC中大事处理由Controller担当,从而到达规律与页面相分别的效果。Controller:大事处理过程。功能:验证HTML恳求的数据、将用户数据与模型更新相映射、选择用于响应的视图。3.MVC演化过程及例如没有使用MVC,做纯JSP应用时,构造不太合理,在

4、JSP页面写的代码太多,尤其是掌握器代码,页面和规律太过于混杂,因此引入一个中间层掌握器来特地处理掌握器代码。标准的MVC的组件关系:View用户恳求到掌握器,掌握器状态转变通知Model,Model主动通知View说Model自身已转变,View主动去Model里面去状态查询。下面先看个标准的MVC单机版的例如:Eclipse本身就是基于MVC做的,例如当我们翻开Eclipse时修改编辑区的代码时,左边的Navigator视图和右边的Outline视图等都会自动更新而随着编辑区的代码转变而转变。实际上这些窗口观看的都是同一个Model,即观看XX.java代码文件的内容,这种多个View观看

5、者观看同一个Model文件的在设计模式中也有个设计模式与其对应即观看者设计模式。观看者设计模式Java代码例如的如下:依据前面的内容抽象,首先必需有个被观看的对象,即目标对象叫做MySubject.java:public class MySubject extends Observableprivate String content=“;public String getContent() return content;public void setContent(String content) this.content = content;/需要通知全部观看者this.setChanged(

6、);this.notifyObservers();观看者观看的为目标对象的内容Content,当内容转变了即有人setContent需要通知全部的观看者。其次应当有些观看者,叫做MyObserver:public class MyObserver implements Observerprivate String name;public MyObserver(String name) this.name=name;Overridepublic void update(Observable o, Object msg) /推模型System.out.println(name+“推过来的=“+ms

7、g);/拉模型System.out.println(name+“推过来的=“+(MySubject)o)MyObserver实现一个update回调方法,即MyObserver去观看MySubject,观看到后实行的处理即这个update方法。这里的观看者又有两种模型,一种是被观看者主动推过来的消息即推模型,另一种就是观看者主动去拉内容即拉模型。其实观看者模式也叫出版订阅模式,推模型即订报的意思,即报刊发行商将报纸送上门效劳,拉模型即某个时刻大家主动去报刊亭买报的这种模型。客户端测试代码,Client.java:public class Client public static void ma

8、in(String args) /创立一个被观看的目标对象MySubject subject=new MySubject();/创立观看者MyObserver ob2=new MyObserver(“lsi“);MyObserver ob3=new MyObserver(“wwu“);/注册观看者subject.addObserver(ob2);subject.addObserver(ob3);/报社出报纸subject.setContent(“观看者模式“); (下转第97页)(上接第125页)首先创立一个目标对象,然后创立三个观看者,然后注册观看者相当于订报纸,然后报社出报纸即内容转变时触

9、发观看者,当被观看的对象转变时需要通知观看者也即对应MySubject.java。代码输出结果:wwu推过来的=nullwwu主动去拉=观看者模式lsi推过来的=nulllsi主动去拉=观看者模式当将Client.java文件中的MyObserver ob2=new MyObserver(“lsi“);、和subject.addObserver(ob2);解释掉时,输出结果中间2行随之也不显示出来,即所谓的lis退订。改良的版的MVC在Java WEB开发中会产生一个问题:就是为什么Model会主动通知View自身已经转变了呢?由于Java中标准的MVC起源于Swing,这种标准的MVC只能适应于单机版,在WEB开发中无法实现,由于WEB是基于恳求应答模式的环境,Model不会在没有恳求的状况下直接通知View自身的转变。改良版后的MVC一般实现方式:View用JSP来实现,Controller由Servlet来实现,Model由JavaBean来实现。【

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com