




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一. MVC模式模型视图控制器(Model-View-Controller,MVC)结构是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好的实现了数据层与表示层的分离。所谓MVC,指的是一种划分系统功能的方法,它将一个系统划分为三个部分:模型(Model):是一组表示应用系统商业逻辑的对象,封装的是数据源和所有基于对这些数据的操作;在一个组件中,Model往往表示组件的状态和操作状态的方法。视图(View):是用一种向用户表达信息的具体方式。封装的是对数据源Model的一种显示。一个模型可以由多个视图,而一个视图理论上也可以同不同的模型关联起来。控制器(Control):是应用系统处理具体流程和导向的核心部分,封装的是外界作用于模型的操作。通常,这些操作会转发到模型上,并调用模型中相应的一个或者多个方法。MVC作为架构模式,提供了一个原则,可以按照模型、表达方式和行为等角色把一个应用系统的各个部分之间的耦合解脱、分割开来。事件由控制器来处理,控制器接收用户事件,并根据事件的类型来改变模型。视图事先会在模型中登记,当模型数据发生改变时,马上通知已向此模型登记的每个视图。视图从模型取得最新的数据并刷新自己。使用MVC的好处在于,一方面,分离数据和其表示,使得添加或者删除一个用户视图变得很容易。Model和View能够单独的开发,增加了程序了可维护性,可扩展性,并使测试变得更为容易。另一方面,将控制逻辑和表现界面分离,允许程序能够在运行时根据工作流,用户习惯或者模型状态来动态选择不同的用户界面。Excel表格是大家都熟悉的,一个饼图、一个棒图和一个表格均是同组数据的不同的视图,当用户同各任何一个视图修改数据时,所有的视图都会按照新数据更新自己。以java为例,在Swing中基本上每一个组件都会有对应的Model对象。但其并不是一一对应的,一个Model接口可以为多个Swing对象服务,例如:JProgressBar,JScrollBar,JSlider这三个组件使用的都是BoundedRangeModel接口。这种模型的共享更能够充分的体现MVC的内涵。二. MVC模式在J2EE技术中的应用一般而言,一个J2EE系统应当适当地划分接收请求,根据请求采取行动,并将结果显示给用户等责任。为了将显示数据地逻辑与商务逻辑分割开,采用如下所示的架构。在这个模型里,协作关系是这样的(1) Servlet相当与控制器角色,它负责接收客户端请求并处理。(2) 根据请求的类型,Servlet可以选择创建一个JavaBean对象,由后者继续处理。(3) Servlet也可以直接存取数据库中的数据。(4) Servlet将处理结果交给JSP,后者将输出结果格式化为用户可以阅读的形式,并返回给客户端。从代码结构的角度看,将MVC模式应用到一个系统设计中的过程就是对系统中不同责任的划分过程。JSP负责数据显示逻辑,JavaBean负责商业逻辑,Servlet负责流程控制。这样的模型对于项目开发管理来说也有好处,由于JSP不含有商务逻辑,因此可以由专门做网页设计的人员去完成;而Servlet和JavaBean含有所有的商务逻辑,可以由熟悉专业领域的团队成员完成。三. 责任链模式责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。击鼓传花便是责任链模式的应用。责任链模式涉及到的角色:l 抽象处理者(Handler)角色:定义出一个处理请求的接口。l 具体处理者(ConcreteHandler)角色:具体处理者接到请求后,可以选择将请求处理掉,或者将请求传给下家。客户端创建了两个处理者对象,并指定了第一个处理者对象的下家是第二个处理者对象,而第二个处理者对象没有下家。然后客户端将请求传递给第一个处理者对象。活动时序图如下。纯的责任链模式:要求处理者要么承担责任,要么把责任推给下家,不允许出现某个处理者在承担了一部分责任后又把责任向下传的情况。不纯的责任链模式:一个请求可以最终不被任何接收端处理。我们在Java异常处理中采用了不纯的责任链模式,异常有可能被处理了之后又抛出,对运行期异常我们可能就让它一直抛给JVM。责任链模式减低了请求的发送端和接收端之间的耦合,使多个对象都有机会处理这个请求。责任链可能是一条直线、一个环链或者一个树结构,命令只可以被传给一个下家(或被处理掉),而不能传给多个下家。四. 命令模式命令模式属于对象的行为模式,它把发出命令的责任和执行命令的责任分割开,委派给不同的对象。每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行操作。命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收,以及操作是否被执行、何时被执行,以及是怎么被执行的。命令允许请求的一方和接收请求的一方能够独立演化。命令模式涉及到五个角色,它们分别是:l 客户(Client)角色:创建了一个具体命令(ConcreteCommand)对象并确定其接收者。l 命令(Command)角色:声明了一个给所有具体命令类的抽象接口。这是一个抽象角色,通常由一个Java接口或Java抽象类实现。l 具体命令(ConcreteCommand)角色:定义一个接收者和行为之间的弱耦合,实现execute()方法,负责调用接收者的相应操作。l 请求者(Invoker)角色:负责调用命令对象执行请求。l 接收者(Receiver)角色:负责具体实施和执行一个请求。代码清单如下:/客户类public class Client public static void main(String args) Receiver receiver = new Receiver(); /创建接收者 Command command = new ConcreteCommand(receiver); /创建具体命令对象,指定接收者 Invoker invoker = new Invoker( command ); /创建请求者 invoker.action(); /请求者发起命令 /请求者类public class Invokerprivate Command command; /引用具体命令对象public Invoker(Command command) mand = command; public void action() command.execute(); /要求执行命令,但不知道谁执行 /抽象命令类public interface Command void execute(); /定义具体命令必须实现的接口/具体命令类public class ConcreteCommand implements Command private Receiver receiver; /引用接收者对象public ConcreteCommand(Receiver receiver) this.receiver = receiver; /调用接收者的执行方法 public void execute() receiver.action(); /接收者类public class Receiver public void action() System.out.prin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030工业软件云化转型过程中的客户迁移阻力与解决方案研究报告
- 新能源客户体验2025年用户体验地图构建报告
- 2025-2030工业视觉检测算法优化与细分领域渗透策略报告
- 2025-2030工业视觉检测AI算法在3C行业的落地难点突破
- 2025-2030工业绿色转型技术路线图研究及政策激励机制评估
- 2025-2030工业级3D打印设备核心技术突破方向与商业化应用前景评估报告
- 2025-2030工业窑炉观察窗耐高温材料选型与维护规范白皮书
- 2025年河北石家庄教联高级职业中学公开招聘工作人员45名模拟试卷及答案详解一套
- 2025福建莆田市城厢区事业单位定向招考未就业随军家属1人模拟试卷及答案详解(历年真题)
- 数字文化遗产保护创新创业项目商业计划书
- 教育培训机构合作培训协议
- 苹果电脑macOS效率手册
- 职称英语A级词汇大全
- 某光伏发电工程EPC总承包投标文件技术文件
- (正式版)JBT 2603-2024 电动悬挂起重机
- JJG(交通) 133-2023 落锤式弯沉仪
- 工厂主管人员值班表
- 消防安全周巡查记录表
- 第三章 护理伦理学基本原则规范和范畴
- 能源化学与能源化工概论-第一章 能源简介
- FZ/T 52058-2021低熔点聚乳酸(LMPLA)/聚乳酸(PLA)复合短纤维
评论
0/150
提交评论