2013年第26章模板方法模式.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2013年第26章模板方法模式.ppt》由会员分享,可在线阅读,更多相关《2013年第26章模板方法模式.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第2626章章模板方法模式模板方法模式刘刘 伟伟本章教学内容w模板方法模式 模式动机与定义模式动机与定义 模式结构与分析模式结构与分析 模式实例与解析模式实例与解析 模式效果与应用模式效果与应用 模式扩展模式扩展操作流程包含步骤!操作流程包含步骤!操作流程包含步骤!操作流程包含步骤!模板方法模式w模式动机模板方法模式w模式动机模模板板方方法法模模式式是是基基于于继继承承的的代代码码复复用用基基本本技技术术,模模板板方方法法模模式式的的结结构构和和用用法法也也是是面面向向对对象象设设计计的的核核心心之之一一。在在模模板板方方法法模模式式中中,可可以以将相同的代码放在父类中,而将不同的方法实现放
2、在不同的子类中将相同的代码放在父类中,而将不同的方法实现放在不同的子类中。在在模模板板方方法法模模式式中中,我我们们需需要要准准备备一一个个抽抽象象类类,将将部部分分逻逻辑辑以以具具体体方方法法以以及及具具体体构构造造函函数数的的形形式式实实现现,然然后后声声明明一一些些抽抽象象方方法法来来让让子子类类实实现现剩剩余余的的逻逻辑辑。不不同同的的子子类类可可以以以以不不同同的的方方式式实实现现这这些些抽抽象象方方法法,从从而而对对剩剩余余的的逻逻辑辑有有不不同同的的实实现现,这这就就是是模模板板方方法法模模式式的的用用意意。模模板板方方法法模模式式体体现现了了面面向向对对象象的的诸诸多多重重要要
3、思思想想,是是一一种种使使用用频频率率较较高的模式。高的模式。模板方法模式w模式定义模板方法模式模板方法模式(Template Method Pattern):定义一:定义一个操作中个操作中算法的骨架算法的骨架,而将一些步骤,而将一些步骤延迟到子类延迟到子类中,模中,模板方法使得子类板方法使得子类可以不改变一个算法的结构即可重定义可以不改变一个算法的结构即可重定义该算法的某些特定步骤该算法的某些特定步骤。模板方法是一种。模板方法是一种类行为型类行为型模式。模式。模板方法模式w模式定义Template Method Pattern:Define the skeleton of an algori
4、thm in an operation,deferring some steps to subclasses.Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithms structure.Frequency of use:medium模板方法模式w模式结构模板方法模式w模式结构模板方法模式包含如下角色:模板方法模式包含如下角色:AbstractClass:抽象类抽象类 ConcreteClass:具体子类具体子类 模板方法模式w模式分析模模板板方方
5、法法模模式式是是一一种种类类的的行行为为型型模模式式,在在它它的的结结构构图图中中只只有类之间的继承关系,没有对象关联关系有类之间的继承关系,没有对象关联关系。在在模模板板方方法法模模式式的的使使用用过过程程中中,要要求求开开发发抽抽象象类类和和开开发发具具体体子子类类的的设设计计师师之之间间进进行行协协作作。一一个个设设计计师师负负责责给给出出一一个个算算法法的的轮轮廓廓和和骨骨架架,另另一一些些设设计计师师则则负负责责给给出出这这个个算算法法的的各各个个逻逻辑辑步步骤骤。实实现现这这些些具具体体逻逻辑辑步步骤骤的的方方法法称称为为基基本本方方法法(Primitive Method),而而将
6、将这这些些基基本本法法方方法法汇汇总总起起来来的的方方法法称称为为模模板板方方法法(Template Method),模模板板方方法法模模式式的名字从此而来。的名字从此而来。模板方法模式w模式分析模板方法:一个模板方法是模板方法:一个模板方法是定义在抽象类中的、把基本操定义在抽象类中的、把基本操作方法组合在一起作方法组合在一起形成一个总算法或一个总行为的方法。形成一个总算法或一个总行为的方法。基本方法:基本方法是基本方法:基本方法是实现算法各个步骤的方法实现算法各个步骤的方法,是模板,是模板方法的组成部分。方法的组成部分。抽象方法(Abstract Method)具体方法(Concrete M
7、ethod)钩子方法(Hook Method):“挂钩”方法和空方法模板方法模式w模式分析钩子方法(Hook Method)public void template()open();display();if(isPrint()print();public boolean isPrint()return true;模板方法模式w模式分析典型的抽象类代码如下所示:典型的抽象类代码如下所示:public abstract class AbstractClass public void templateMethod()/模板方法模板方法 primitiveOperation1();primitiveO
8、peration2();primitiveOperation3();public void primitiveOperation1()/基本方法具体方法 /实现代码 public abstract void primitiveOperation2();/基本方法抽象方法 public void primitiveOperation3()/基本方法钩子方法 模板方法模式w模式分析典型的具体子类代码如下所示:典型的具体子类代码如下所示:public class ConcreteClass extends AbstractClass public void primitiveOperation2()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2013 26 模板 方法 模式
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内