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