`
lean1252
  • 浏览: 219020 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

设计模式之———(行为模式)Template

阅读更多
/*抽象模板的实现*/
public abstract class Templator {

    public void hookMethod() {}//钩子方法,提供默认实现,子类可以提供具体    的实现
    public void concreteMethod() {//组装方法
       abstractMethod0();
      abstractMethod1();
    }

    public abstract void abstractMethod0(); //抽象方法,需要子类提供具体的实现
    public abstract void abstractMethod1(); //抽象方法,需要子类提供具体的实现

}

/*具体模板1*/
public class ConcreteTemplator1 extends Templator{

    public void hookMethod() {
        System.out.println("invoke ConcreteTemplator1.hookMethod()...");
    }

    public void abstractMethod0() {
         System.out.println("invoke ConcreteTemplator1.abstractMethod0()...");
    }

    public void abstractMethod1() {
         System.out.println("invoke ConcreteTemplator1.abstractMethod1()...");

}

/*具体模板2*/
public class ConcreteTemplator2 extends Templator {

    public void hookMethod() {
        System.out.println("invoke ConcreteTemplator2.hookMethod()...");
    }

    public void abstractMethod0() {
         System.out.println("invoke ConcreteTemplator2.abstractMethod0()...");
    }

    public void abstractMethod1() {
         System.out.println("invoke ConcreteTemplator2.abstractMethod1()...");

}

/*测试类*/
public class Client() {
  public static void main(String[]args) {
       Templator t1 = new ConcreteTemplator1();
       t1.hookMethod();
       t1.concreteMethod();
       Templator t2 = new ConcreteTemplator2();
       t2.hookMethod();
       t2.concreteMethod();  
   }
}

//输出结果:
invoke ConcreteTemplator1.hookMethod()...
invoke ConcreteTemplator1.abstractMethod1()...
invoke ConcreteTemplator1.abstractMethod1()...
invoke ConcreteTemplator2.hookMethod()...
invoke ConcreteTemplator2.abstractMethod1()...
invoke ConcreteTemplator2.abstractMethod1()...
分享到:
评论

相关推荐

    设计模式精解——GoF23中设计模式解析

    ### 设计模式精解——GoF23中设计模式解析 #### 重要性与起源 设计模式是软件工程领域的一项重要研究,它提供了一系列解决常见软件设计问题的模板。GoF23指的是由Erich Gamma、Richard Helm、Ralph Johnson和John ...

    设计模式代码——c#

    C#设计模式(23种设计模式) 1. 单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) 结构型: 6. 适配器...

    设计模式-Java语言中的应用(pdf)

    《设计模式——Java语言中的应用》是一本专为Java开发者深入理解面向对象设计而编写的经典书籍。设计模式是软件工程领域中经过实践验证的、解决常见问题的有效方案,它们代表了在特定上下文中,针对特定问题的最优...

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与应用,特别是针对刘伟教授的相关课程的课后习题及模拟试题的解答。 设计模式分为三大类:创建型、结构型和行为型模式。...

    设计模式可复用面向对象软件的基础.zip

    书名: 设计模式可复用面向对象软件的基础 英文原书名: Design Patterns:Elements of Reusable Object-Oriented software 作者: Erich Gamma 等 译者: 李英军 马晓星 蔡敏 刘建中 书号: 7-111-07575-7 页码: 254 定价...

    23种 设计模式---面向对象的基本原则

    设计模式是软件工程中的一种最佳实践,它们是解决常见编程问题的经验总结,为软件开发提供了可复用的解决方案。在面向对象编程中,设计模式基于一些基本原则,这些原则构成了良好设计的基础。本篇将深入探讨23种设计...

    设计模式精解-GoF 23种设计模式解析附C++.pdf

    ### 设计模式精解——GoF 23种设计模式解析及C++实现 #### 0. 引言 设计模式作为面向对象编程的核心组成部分,是软件开发者在长期实践中总结出来的最佳实践。通过深入理解这些设计模式,我们可以更好地进行面向...

    设计模式PPT---25种设计模式详解

    这份名为“设计模式PPT——25种设计模式详解”的资料,显然是一个深入探讨设计模式的教程,它通过PDF格式对25种主要的设计模式进行了详尽的阐述。 首先,我们要理解设计模式的基本概念。设计模式不是代码,而是一种...

    X-gen PPT下载——《研磨设计模式》 实战

    设计模式分为创建型、结构型和行为型三大类,每种类型包含多个具体的模式。在研磨设计模式的实战中,我们可能涉及以下知识点: 1. **创建型模式**:包括单例模式(Singleton)、工厂模式(Factory Method)、抽象...

    设计模式精解-GoF 23种设计模式解析附C++实现源码.pdf

    ### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式是软件工程领域的一个重要概念,它为解决特定问题提供了一套标准的解决方案。《设计模式精解——GoF 23种设计模式解析及C++实现源码...

    设计模式C++版(pdf版)

    ### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 引言 设计模式是软件工程领域中一个极为重要的概念,它代表着一系列被广泛接受的解决特定问题的方法。GoF(Gang of Four)所提出的23种设计模式更是...

    HeadFirst设计模式PPT

    《HeadFirst设计模式》是一本深受开发者欢迎的书籍,它以独特、易理解的方式介绍了软件设计中的重要概念——设计模式。设计模式是经验丰富的开发者在解决常见问题时总结出的最佳实践,它们为软件设计提供了可复用的...

    系统架构设计师 设计模式

    《系统架构设计师 设计模式》是一本针对软考系统架构设计师考试的重要参考资料,它深入探讨了软件架构设计中的核心概念——设计模式。设计模式是软件工程中经过实践验证的、解决常见问题的有效方法,是软件开发人员...

    设计模式精解-GoF 23种设计模式解析

    ### 设计模式精解——GoF 23种设计模式解析 #### 0. 引言 ##### 0.1 设计模式解析(总序) 设计模式是软件工程领域的一个重要概念,它代表着一系列被广泛接受的解决方案,用于解决特定类型的软件设计问题。通过...

    设计模式精解-GoF23种设计模式解析附C实现源码.pdf

    ### 设计模式精解——GoF23种设计模式解析及C实现 #### 一、引言 在软件工程领域,设计模式被视为一种重要的实践工具和技术。它可以帮助开发者解决常见的设计问题,并提供了一系列已被验证的有效解决方案。《设计...

    设计模式C++版

    设计模式C++版文档主要聚焦于面向对象设计与分析的核心——设计模式,并以C++语言实现为示范。这份文档详尽阐述了23种GoF(Gang of Four)设计模式,并结合具体的C++源码示例,旨在帮助读者深入理解并掌握这些设计...

Global site tag (gtag.js) - Google Analytics