下载此文档

软件设计模式之行为模式ppt课件.ppt


文档分类:IT计算机 | 页数:约40页 举报非法文档有奖
1/40
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/40 下载此文档
文档列表 文档介绍
第四章
行为模式
课程目标
Observer模式
Iterator模式
Strategy模式
Template模式
Visitor模式
Chain of Responsibility模式
Command模式
其他模式,如Interpreter模式、Mediator模式等
体验项目——<实现在窗体中使用鼠标的画图功能>
mand模式实现窗体中鼠标画图功能,该程序主要由以下几个部分组成:
程序运行完成后,拖动鼠标在窗体上画出“Hello”字符
(1)mand,定义命令方法。
(2)mand类,mand接口,mand实现画图命令,mand类定义对命令的新增、执行和删除等方法。
(3)请求接口Drawable,DrawCanvas类实现Drawable接口,定义与具体请求相关的操作。
(4)客户端,继承JFrame并实现ActionListener和MouseMotionListener接口,创建窗体界面和各种事件
行为模式概述
行为模式涉及到算法和对象间职责的分配,行为模式描述了对象和类的模式,以及它们之间的通信模式,这些模式刻划了在程序运行时难以跟踪的复杂的控制流。
可分为行为类模式和行为对象模式两种:
(1)行为类模式使用继承机制在类间分派行为。
(2)行为对象模式使用对象复合而不是继承。一些行为对象模式描述了一组对等的对象怎样相互协作以完成其中任何一个对象都无法单独完成的任务。这里一个重要的问题是对等对象如何互相了解对方。对等对象可以保持显式的对对方的引用,但那会增加它们的耦合度。在极端情况下,每一个对象都要了解所有其他的对象。
Chain of Responsibility模式
Chain of Responsibility模式即职责链模式,在有不止一个对象可以处理或实现客户请求的时候,责任链模式(CoR)会顺序地给每一个对象一次处理请求的机会。一个较好的例子就是Java的异常处理机制,当程序中发生异常时,将会比较与catch所捕捉的异常是否相符合,如果符合就执行所设定的处理,如果都没有对比到适当的异处理,就会将异常丢出try catch程序块之外。
模式介绍
主要适用于以下情况:
有多个对象可以处理一个请求,但哪个对象来处理该请求是在运行时刻自动确定的。
想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。
希望动态的指定处理某个请求的对象集合。
职责链模式优势和不足
职责链模式主要有以下几个优点:
降低耦合度
职责链模式不足:
效率低,一个请求的完成可能要遍历到最后才可能完成。
扩展性差,在该模式中,一定要有一个统一的Handler接口。
增强了给对象指派职责的灵活性
Command模式
Command模式即命令模式,该模式把一个请求或者操作封装到一个对象中,并将发出命令的责任和执行命令的责任分割开,委派给不同的对象。允许请求的一方和发送的一方独立开来。
模式介绍
主要适用于以下情况:
抽象出待执行的动作以参数化某对象,你可用过程语言中的回调(callback)函数表达这种参数化机制。
在不同的时刻指定、排列和执行请求。mand对象可以有一个与初始请求无关的生存期。
支持取消操作。
支持修改日志。
用构件在原语操作上的高层操作构造一个系统。
Command模式结构图
命令模式结构图如下:
Command:声明执行操作的接口。
mand:将一个接收者对象绑定于一个动作,调用接收者相应的操作,以实现execute()方法。
Receiver:知道如何实施与执行一个请求相关的操作,任何类都可能作为一个接收者。
Invoker:如果该命令可执行,则要求该命令执行这个请求,mand对象。
Client:创建一个具体命令对象并设定它的接收者。

软件设计模式之行为模式ppt课件 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数40
  • 收藏数0 收藏
  • 顶次数0
  • 上传人luyinyzhi
  • 文件大小2.95 MB
  • 时间2018-10-11
最近更新