- 1
- 0
- 约9.32千字
- 约 39页
- 2026-01-15 发布于广东
- 举报
第7章行为型模式(中)作者:程细柱人民邮电出版社
内容简介?本章教学目标:?进一步理解行为型模式的优缺点;?明白职责链模式、状态模式、观察者模式、中介者模式的定义与特点;?掌握职责链模式、状态模式、观察者模式、中介者模式的结构与实现;?学会使用这四种设计模式开发应用程序;?明白这四种设计模式的扩展应用。?本章价值引领:?通过职责链模式在假条审批程序中的应用实例,来关心学生和陶冶学生,将他们培养成国家的栋梁;通过学生军训成绩状态转换的“状态模式”应用实例,培养学生的爱国主义精神与国防观念,锤炼他们的团结意识和团队协作能力;通过观察者模式在“人民币汇率”对进/出口公司的利润率影响的应用实例来引导学生关心时事,培养他们的社会责任感和主人公意识;利用中介者模式在供销社信息交流平台中的应用实例来培养学生的家国情怀。软件设计模式(Java版)、作者:程细柱ISBN:978-7-115-47788-0人民邮电出版社(和)
7.1职责链(ChainofResponsibility)模式7.1.1模式的定义与特点定义:为了避免请求发送者与多个请求处理者耦合在一起,将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。优点:1)降低了对象之间的耦合度。该模式使得一个对象无需知道到底是哪一个对象处理其请求以及链的结构,发送者和接收者也无需拥有对方的明确信息。2)增强了系统的可扩展性。可以根据需要增加新的请求处理类,满足开闭原则;软件设计模式(Java版)、作者:程细柱ISBN:978-7-115-47788-0人民邮电出版社(和)
7.1职责链(ChainofResponsibility)模式(续)7.1.1模式的定义与特点(续)3)增强了给对象指派职责的灵活性。当工作流程发生变化,可以动态地改变链内的成员或者调动它们的次序,也可动态地新增或者删除责任。4)职责链简化了对象之间的连接。每个对象只需保持一个指向其后继者的引用,不需保持其它所有处理者的引用,这避免了使用众多的if或者if-else语句。5)责任分担。每个类只需要处理自己该处理的工作,不该处理的传递给下一个对象完成,明确各类的责任范围,符合类的单一职责原则。软件设计模式(Java版)、作者:程细柱ISBN:978-7-115-47788-0人民邮电出版社(和)
7.1职责链(ChainofResponsibility)模式(续)7.1.1模式的定义与特点(续)缺点:1)不能保证每个请求一定被处理。由于一个请求没有明确的接收者,所以不能保证它一定会被处理,该请求可能一直传到链的末端都得不到处理;2)对于比较长的职责链,请求的处理可能涉及到多个处理对象,系统性能将受到一定影响;3)职责链建立的合理性要靠客户端来保证,增加了客户端的复杂性,可能会由于职责链的错误设置而导致系统出错,如:可能会造成循环调用。软件设计模式(Java版)、作者:程细柱ISBN:978-7-115-47788-0人民邮电出版社(和)
7.1职责链(ChainofResponsibility)模式(续)7.1.2模式的结构与实现1.模式的结构职责链模式主要包含以下角色:⑴抽象处理者(Handler)角色:定义一个处理请求的接口,包含抽象处理方法和一个后继连接。⑵具体处理者(ConcreteHandler)角色:实现抽象处理者的处理方法,判断能否处理本次请求,如果可以处理请求则处理,否则将该请求转给他的后继者。⑶客户类(Client)角色:创建处理链,并向链头的具体处理者对象提交请求,它不关心处理细节和请求的传递过程。软件设计模式(Java版)、作者:程细柱ISBN:978-7-115-47788-0人民邮电出版社(和)
7.1职责链(ChainofResponsibility)模式(续)7.1.2模式的结构与实现(续)1.模式的结构右边是其结构图:2.模式的实现//该模式的实现代码见附件软件设计模式(Java版)、作者:程细柱销售电话:010学资源网址:/book/details/8402
7.1职责链(ChainofResponsibility)模式(续)7.1.3模式的应用实例【例7.1】用职责链模式设计一个请假条审批的程序实例。分析:学生请假,假如班主任可以批准小于或等于1天,辅导员可以批准小于或等于2天,书记可以批准小于或等于7天,其它情况不
原创力文档

文档评论(0)