/*抽象模板的实现*/
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指的是由Erich Gamma、Richard Helm、Ralph Johnson和John ...
C#设计模式(23种设计模式) 1. 单件模式(Singleton Pattern) 2. 抽象工厂(Abstract Factory) 3. 建造者模式(Builder) 4. 工厂方法模式(Factory Method) 5. 原型模式(Prototype) 结构型: 6. 适配器...
《设计模式——Java语言中的应用》是一本专为Java开发者深入理解面向对象设计而编写的经典书籍。设计模式是软件工程领域中经过实践验证的、解决常见问题的有效方案,它们代表了在特定上下文中,针对特定问题的最优...
本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与应用,特别是针对刘伟教授的相关课程的课后习题及模拟试题的解答。 设计模式分为三大类:创建型、结构型和行为型模式。...
书名: 设计模式可复用面向对象软件的基础 英文原书名: Design Patterns:Elements of Reusable Object-Oriented software 作者: Erich Gamma 等 译者: 李英军 马晓星 蔡敏 刘建中 书号: 7-111-07575-7 页码: 254 定价...
设计模式是软件工程中的一种最佳实践,它们是解决常见编程问题的经验总结,为软件开发提供了可复用的解决方案。在面向对象编程中,设计模式基于一些基本原则,这些原则构成了良好设计的基础。本篇将深入探讨23种设计...
### 设计模式精解——GoF 23种设计模式解析及C++实现 #### 0. 引言 设计模式作为面向对象编程的核心组成部分,是软件开发者在长期实践中总结出来的最佳实践。通过深入理解这些设计模式,我们可以更好地进行面向...
这份名为“设计模式PPT——25种设计模式详解”的资料,显然是一个深入探讨设计模式的教程,它通过PDF格式对25种主要的设计模式进行了详尽的阐述。 首先,我们要理解设计模式的基本概念。设计模式不是代码,而是一种...
设计模式分为创建型、结构型和行为型三大类,每种类型包含多个具体的模式。在研磨设计模式的实战中,我们可能涉及以下知识点: 1. **创建型模式**:包括单例模式(Singleton)、工厂模式(Factory Method)、抽象...
### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式是软件工程领域的一个重要概念,它为解决特定问题提供了一套标准的解决方案。《设计模式精解——GoF 23种设计模式解析及C++实现源码...
### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 引言 设计模式是软件工程领域中一个极为重要的概念,它代表着一系列被广泛接受的解决特定问题的方法。GoF(Gang of Four)所提出的23种设计模式更是...
《HeadFirst设计模式》是一本深受开发者欢迎的书籍,它以独特、易理解的方式介绍了软件设计中的重要概念——设计模式。设计模式是经验丰富的开发者在解决常见问题时总结出的最佳实践,它们为软件设计提供了可复用的...
《系统架构设计师 设计模式》是一本针对软考系统架构设计师考试的重要参考资料,它深入探讨了软件架构设计中的核心概念——设计模式。设计模式是软件工程中经过实践验证的、解决常见问题的有效方法,是软件开发人员...
### 设计模式精解——GoF 23种设计模式解析 #### 0. 引言 ##### 0.1 设计模式解析(总序) 设计模式是软件工程领域的一个重要概念,它代表着一系列被广泛接受的解决方案,用于解决特定类型的软件设计问题。通过...
### 设计模式精解——GoF23种设计模式解析及C实现 #### 一、引言 在软件工程领域,设计模式被视为一种重要的实践工具和技术。它可以帮助开发者解决常见的设计问题,并提供了一系列已被验证的有效解决方案。《设计...
设计模式C++版文档主要聚焦于面向对象设计与分析的核心——设计模式,并以C++语言实现为示范。这份文档详尽阐述了23种GoF(Gang of Four)设计模式,并结合具体的C++源码示例,旨在帮助读者深入理解并掌握这些设计...