`
darezhong
  • 浏览: 9374 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

设计模式学习之模板方法

阅读更多

1.名词解释

模板方法:定义一个操作中的算法的框架,而将一些步骤延迟到子类中,模板方法可以使子类可以不修改一个算法框架的前提下即可重构该方法的某些特定步骤。模板方法通过把不变行为搬到父类,去除子类中的重复代码。

 

 

2.代码示例

模板方法抽象类
package DesignPattern.TemplateMethod;

public abstract class TemplateMethod {

	public abstract void primitiveMethod1();
	
	public abstract void primitiveMethod2();
	
	public void templateMethod() {
		this.primitiveMethod1();
		this.primitiveMethod2();
	}
}

 

模板方法子类A
package DesignPattern.TemplateMethod;

public class ConcreateMethodA extends TemplateMethod {

	@Override
	public void primitiveMethod1() {
		// TODO Auto-generated method stub
		System.out.println("ConcreateMethodA.primitiveMethod1");
	}

	@Override
	public void primitiveMethod2() {
		// TODO Auto-generated method stub
		System.out.println("ConcreateMethodA.primitiveMethod2");
	}

}

 

模板方法子类B
package DesignPattern.TemplateMethod;

public class ConcreateMethodB extends TemplateMethod {

	@Override
	public void primitiveMethod1() {
		// TODO Auto-generated method stub
		System.out.println("ConcreateMethodB.primitiveMethod1");
	}

	@Override
	public void primitiveMethod2() {
		// TODO Auto-generated method stub
		System.out.println("ConcreateMethodB.primitiveMethod2");
	}

}

 

主控程序
package DesignPattern.TemplateMethod;

public class Client {

	public static void main(String[] args) {
		TemplateMethod tm = new ConcreateMethodA();
		tm.templateMethod();
		tm = new ConcreateMethodB();
		tm.templateMethod();
	}
	
}

 

分享到:
评论

相关推荐

    设计模式C++学习之模板方法模式(Template Method)

    模板方法模式(Template Method)是设计模式中行为型模式的一种,它定义了操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。这个模式在C++编程中有着...

    设计模式之模板方法模式

    模板方法模式是设计模式中行为模式的一种,它在软件开发中起到了重要的作用,尤其是在复杂的系统设计中。模板方法模式遵循“开闭原则”,允许我们定义一个算法的骨架,同时允许子类在不改变整体结构的情况下,对算法...

    设计模式-模板方法模式ppt

    ### 设计模式之模板方法模式解析 #### 一、引言 在软件开发过程中,我们经常面临这样的场景:有一些步骤是固定的,而某些步骤则可能因具体实现而异。为了解决这类问题,设计模式中引入了一种叫做“模板方法模式”的...

    Head First 设计模式 (八) 模板方法模式(Template Method pattern) C++实现

    模板方法模式是设计模式中的一种行为模式,它在软件工程中扮演着重要的角色,尤其是在C++这样的面向对象编程语言中。这种模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的...

    设计模式模板方法模式PPT学习教案.pptx

    模板方法模式是一种设计模式,属于行为设计模式,它在面向对象设计中被广泛使用,用于定义算法的骨架,而将一些步骤延迟到子类中。这样,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些特定...

    设计模式学习模板demo

    在“设计模式学习模板demo”中,我们可以预见到这可能是一个包含了多种设计模式实际应用的示例项目。以下是一些常见的设计模式及其在实际编程中的应用: 1. **单例模式**:确保一个类只有一个实例,并提供全局访问...

    设计模式课程设计模板

    设计模式课程设计模板通常包括一系列常见的设计模式及其应用实例,帮助学生或开发者系统地学习和掌握这些模式。 在这个"设计模式课程设计模板"中,我们可以期待学习到以下几个主要的知识点: 1. **设计模式分类**...

    设计模式-模板方法模式(讲解及其实现代码)

    模板方法模式是一种行为设计模式,它允许在定义行为框架的同时,延迟部分具体步骤到子类中实现。这种模式主要用于在父类中定义算法的骨架,而将一些步骤的实现细节留给子类去完成,从而使得不同的子类可以重用相同的...

    设计模式之模版方法模式

    模板方法模式是设计模式中的一种行为模式,它在软件工程中扮演着重要的角色,尤其是在创建算法族时。这种模式允许我们在抽象类中定义一个算法的框架,而将具体步骤延迟到子类中实现,从而实现了代码复用和扩展。下面...

    设计模式模板+委托.pdf

    模板模式是一种行为设计模式,它使你能在不破坏封装性的前提下,定义一系列算法的族,每一种算法都由一个方法来实现。这种类型的设计模式属于行为模式。 模板模式的关键在于一个抽象类(或接口)定义了算法的主要...

    设计模式之美—学习笔记

    在这个“设计模式之美”的学习笔记中,我们将探讨一些主要的设计模式,以及它们在实际开发中的应用。 首先,我们从创建型模式开始。这类模式主要用于对象的创建,如单例模式(Singleton)、工厂模式(Factory ...

    Java 经典设计模式讲解以及项目实战

    Java 经典设计模式讲解以及项目实战 设计模式简介:主要介绍各种设计模式的概念和运用场景等 设计模式综合运用:主要是笔者在实际工作中运用到的一些设计模式综合运用事例的提炼 Spring设计模式简介:主要是讲述...

    第05章 面向对象(下) 10 抽象类应用之模板方法设计模式

    面向对象编程是软件开发中的核心思想之一,而模板方法设计模式是这种思想在实践中的一种具体应用。本章我们将深入探讨“模板方法设计模式”,并结合Java语言进行详细讲解。 模板方法设计模式是一种行为设计模式,它...

    设计模式学习 ppt

    这个“设计模式学习ppt”资料包显然是一份面向初学者或大学生的教学资源,通过十四个PPT文件深入浅出地讲解了设计模式的各个方面。 首先,我们来看设计模式的基本概念。设计模式是对在特定上下文中反复出现的问题...

    设计模式之美——教你写出高质量代码

    "设计模式之美——教你写出高质量代码"这个主题旨在帮助开发者更好地理解和应用设计模式,从而提升代码的质量和可维护性。设计模式不仅对面试有所帮助,也是职场发展中的必备技能,无论你使用哪种开发语言。 设计...

    java设计模式之策略模式与模板模式

    在实际开发中,理解和应用设计模式通常需要结合具体的源码进行学习。在提供的链接中,可能包含了作者对这两种模式的实践案例或者详细解释。源码分析可以帮助我们更好地理解如何在实际项目中运用这些模式。 同时,...

    设计模式学习.zip

    本资源"设计模式学习.zip"聚焦于C++编程语言中的设计模式应用,是2017年的一次黑马程序员培训课程的配套代码,旨在帮助学习者通过实际的代码示例来理解和掌握设计模式。 在C++中,设计模式主要分为三大类:创建型...

    24种设计模式以及混合设计模式

    通过学习和应用这些设计模式,开发者不仅可以提高代码的可读性、可维护性和可扩展性,还能提升团队间的沟通效率,因为设计模式是软件工程中的通用语言。对于任何有志于提升软件开发水平的人来说,理解和掌握设计模式...

Global site tag (gtag.js) - Google Analytics