《软件设计模式(Java版)》课件 第6--8章 行为型模式(上、中、下).pptxVIP

《软件设计模式(Java版)》课件 第6--8章 行为型模式(上、中、下).pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

内容简介

·本章教学目标:

了解行为型模式的概念与分类;

理解模板方法模式、策略模式、命令模式的定义与特点;

掌握模板方法模式、策略模式、命令模式的结构与实现;

学会使用这三种设计模式开发应用程序;

明白这三种设计模式的扩展应用。

·本章价值引领:

以鸿蒙应用软件开发为例,介绍国产软件的发展历程,提升学生的民族自豪感和增强学生投身国产IT事业的使命感;

通过策略模式和命令模式在餐馆中的应用实例,说明饮食文化对提振国内消费、促进国内经济循环的作用,引导学生关心国家经济发展状况;

通过命令模式在彩票开奖中的应用实例,提高学生的社会参与和社会公共责任

意识。

软件设计模式(Java版)、作者:程细柱;

6.1行为型模式概述

·行为型模式用于描述程序在运行时复杂的流程控制,即描述多个类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务,它涉及到算法与对象间职责的分配。行为型模式分为类行为模式和对象行为模式,前者采用继承机制来在类间分派行为,后者采用组合或聚合来在对象间分配行为。

·行为型模式是GoF设计模式中最为庞大的一类模式,它包含以下11种:

(1)模板方法(TemplateMethod)模式:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。

(2)策略(Strategy)模式:定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的改变不会影响到使用算法的客户。;

6.1行为型模式概述(续)

(3)命令(Command)模式:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。

(4)职责链(ChainofResponsibility)模式:把请求从链中的一个对象传到下一个对象,直到请求被响应为止。通过这种方式去除对象之间的耦合。

(5)状态(State)模式:允许一个对象在其内部状态发生改变时改变其行为能

力。

(6)观察者(Observer)模式:多个对象间存在一对多关系,当一个对象发生改变时,把这种改变通知给其它多个对象,从而影响其它对象的行为。

(7)中介者(Mediator)??式:定义一个中介对象来简化原有对象之间的交互关系,降低系统中对象间的耦合度,使原有对象之间不必相互了解。

软件设计模式(Java版)(ISDN:9787564740634)、作者:程细柱人民邮电出版社();

6.1行为型模式概述(续)

(8)迭代器(Iterator)模式:提供一种方法来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。

(9)访问者(Visitor)模式:在不改变集合元素的前提下,为一个集合中的每个元素提供多种访问方式,即每个元素有多个访问者对象访问。

(10)备忘录(Memento)模式:在不破坏封装性的前提下,获取并保存一个对象的内部状态,以便以后恢复它。

(11)解释器(Interpreter)模式:提供如何定义语言的文法,以及对语言句子的解释方法,即解释器。

·以上11种行为型模式,除了模板方法模式和解释器模式是类行为型模式,其他的全部属于对象行为型模式,下面分别用3章来详细介绍它们的特点、结构与应用。;

6.2模板方法(TemplateMethod)模式

·6.2.1模式的定义与特点

定义:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。

优点:1)它封装了不变部分,扩展可变部分。它把认为是不变部分的算法封装到父类中实现,而把可变部分算法由子类继承实现,便于子类继续扩展;2)它在父类中提取了公共的部分代码,便于代码复用;3)部分方法是由子类实现的,

因此子类可以通过扩展方式增加相应的功能,符合开闭原则。

缺点:1)对每个不同的实现都需要定义一个子类,这会导致类的个数增加,系统更加庞大,设计也更加抽象;2)父类中的抽象方法由子类实现,子类执行的结果会影响父类的结果,这导致一种反向的控制结构,它提高了代码阅读的难度。

软件设计模式(Java版)、作者:程细柱;

6.2模板方法(TemplateMethod)模式(续)

·6.2.2模式的结构与实现

1.模式的结构

模板方法模式包含以下主要角色:

(1)抽象类(AbstractClass):负责给出一个算法的轮廓和骨架,包含以下方法:

①模板方法:定义了算法的骨架,按某种顺序调用其包

文档评论(0)

乐毅淘文斋 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8121131046000040

1亿VIP精品文档

相关文档