软件工程---软件设计模式与体系结构.pptVIP

  • 6
  • 0
  • 约1.52万字
  • 约 126页
  • 2024-05-15 发布于湖北
  • 举报

软件工程---软件设计模式与体系结构.ppt

职责链模式模式动机职责链模式模式动机职责链可以是一条直线、一个环或者一个树形结构,最常见的职责链是直线型,即沿着一条单向的链来传递请求。链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并使请求沿着链传递,由链上的处理者对请求进行相应的处理客户端无须关心请求的处理细节以及请求的传递,只需将请求发送到链上即可,将请求的发送者和请求的处理者解耦。这就是职责链模式的模式动机。职责链模式模式定义职责链模式(ChainofResponsibilityPattern):避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。由于英文翻译的不同,职责链模式又称为责任链模式,它是一种对象行为型模式。职责链模式模式结构职责链模式包含如下角色:Handler:抽象处理者ConcreteHandler:具体处理者Client:客户类职责链模式模式结构后续处理类职责链模式模式分析在职责链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这条链上传递,直到链上的某一个对象处理此请求为止。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。职责链模式职责链模式实例与解析实例:审批假条某OA系统需要提供一个假条审批的模块,如果员工请假天数小于3天,主任可以审批该假条;如果员工请假天数大于等于3天,小于10天,经理可以审批;如果员工请假天数大于等于10天,小于30天,总经理可以审批;如果超过30天,总经理也不能审批,提示相应的拒绝信息。职责链模式职责链模式实例与解析实例:审批假条职责链模式模式优缺点职责链模式的优点降低耦合度可简化对象的相互连接增强给对象指派职责的灵活性增加新的请求处理类很方便职责链模式模式适用环境在以下情况下可以使用职责链模式:有多个对象可以处理同一个请求,具体哪个对象处理该请求由运行时刻自动确定。在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。可动态指定一组对象处理请求。职责链模式模式应用(1)Java中的异常处理机制try{…… }catch(ArrayIndexOutOfBoundsExceptione1){……}catch(ArithmeticExceptione2){……}catch(IOExceptione3){……}finally{……}中介者模式中介者模式模式动机在面向对象的软件设计与开发过程中,根据“单一职责原则”,我们应该尽量将对象细化,使其只负责或呈现单一的职责。对于一个模块,可能由很多对象构成,而且这些对象之间可能存在相互的引用,为了减少对象两两之间复杂的引用关系,使之成为一个松耦合的系统,我们需要使用中介者模式,这就是中介者模式的模式动机。中介者模式模式定义中介者模式(MediatorPattern)定义:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。中介者模式又称为调停者模式,它是一种对象行为型模式。适配器模式模式分析典型的类适配器代码:publicclassAdapterextendsAdapteeimplementsTarget{ publicvoidrequest() { specificRequest(); }}适配器模式模式分析典型的对象适配器代码:publicclassAdapterextendsTarget{ privateAdapteeadaptee; publicAdapter(Adapteeadaptee) { this.adaptee=adaptee; } publicvoidrequest() { adaptee.specificRequest(); }}适配器模式适配器模式实例与解析实例一:仿生机器人现需要设计一个可以模拟各种动物行为的机器人,在机器人中定义了一系列方法,如机器人叫喊方法cry()、机器人移动方法move()等。如果希望在不修改已有代码的基础上使得机器人能够像狗一样叫,像狗一样跑,使用适配器模式进行系统设计。适配器模式适配器模式实例与解析实例一:仿生机器人适配器模式适配器模式实例与解析实例二:加密适配器某系统需

文档评论(0)

1亿VIP精品文档

相关文档