`
coolbi
  • 浏览: 85372 次
  • 性别: Icon_minigender_1
  • 来自: 重庆&南京
社区版块
存档分类
最新评论

Template(模版)设计模式

阅读更多

运用场景:做一件事情,要先做什么,再做什么,最后做什么,这些顺序都是固定的。这就可以用模版方法

模版模式是一种比较常用的模式,在JUNIT中我们写的测试类就是通过模版方法来调用的。比如:

先执行setUp()

然后是:测试方法

最后执行tearDawn();

模版方法模式编程:

1,设计抽象类,在抽象类中定义要执行的方法

2,在模版方法中,加入抽象定义方法的执行步骤

3,在实现类中具体实现

类图:

java代码:

AbstractClass:

package com.pattern.template;


abstract public class AbstractClass
{
	public void templateMethod()
	{
		method1();
		method2();
		method3();
	}

	abstract public void method1();

	abstract public void method2();

	abstract public void method3();
}

 

ConcreteClass

package com.pattern.template;


public class ConcreteClass extends AbstractClass
{

	@Override
	public void method1()
	{
		System.out.println("invoke method1");
	}

	@Override
	public void method2()
	{
		System.out.println("invoke method2");
	}

	@Override
	public void method3()
	{
		System.out.println("invoke method3");
	}
}

 测试代码:

package com.pattern.template;

public class Test
{

	/**
	 * @param args
	 */
	public static void main(String[] args)
	{
		AbstractClass as = new ConcreteClass();
		as.templateMethod();
	}

}

 运行结果:

 

  • 大小: 2.6 KB
  • 大小: 26.4 KB
分享到:
评论

相关推荐

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

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

    Template(模板模式)

    模板模式是一种行为设计模式,它使你能在不破坏封装性的前提下,定义对象间的一系列基本操作,并在子类中实现这些操作的具体步骤。在模板模式中,一个抽象类公开定义了执行它的方法的方式,而将具体实现延迟到子类中...

    设计模式之模版方法模式

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

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

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

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

    如策略模式(Strategy)、模板方法模式(Template Method)、观察者模式(Observer)、命令模式(Command)、迭代器模式(Iterator)、访问者模式(Visitor)、备忘录模式(Memento)、状态模式(State)、职责链...

    设计模式之模板方法(Template)

    模板方法设计模式是一种行为设计模式,它在面向对象编程中扮演着重要的角色。这个模式的主要目的是定义一个操作的框架,允许子类在不改变整体结构的情况下重定义具体步骤。这有助于保持代码的整洁,实现代码复用,并...

    设计模式之模板设计模式

    模板设计模式是面向对象设计模式的一种,它在软件工程中扮演着重要的角色,尤其是在构建可扩展和可维护的代码库时。这个模式属于行为设计模式,主要用来在父类中定义一个操作流程的骨架,而将具体实现细节留给子类去...

    设计模式--模板方法模式java例子

    模板方法模式是设计模式中行为型模式的一种,它在软件工程中扮演着非常重要的角色,尤其是在Java编程中。模板方法模式定义了一个操作中的算法骨架,而将一些步骤延迟到子类中。它允许子类不改变一个算法的结构即可重...

    模版方法模式TemplatePattern

    模板方法模式(Template Pattern)是设计模式中行为型模式的一种,它定义了操作中的算法骨架,而将一些步骤延迟到子类中。这种模式允许子类重新定义或改变某些基本操作,但整体结构和顺序保持不变。在Java编程中,...

    模板设计模式_构建公共通用的Dao

    **模板设计模式** 模板设计模式是一种行为设计模式,它使你能在不破坏封装性的前提下,定义对象的行为。在Java编程中,模板方法模式是一种结构型设计模式,它定义了算法的骨架,允许子类在不改变算法结构的情况下重...

    您的设计模式.pdf。

    涵盖了策略模式、代理模式、单例模式、多例模式、工厂方法模式、抽象工厂模式、门面模式、适配器模式、模板方法模式、建造者模式、桥梁模式、命令模式、装饰模式、迭代器模式等十四种常用的设计模式。 策略模式...

    23种面向对象设计模式

    3. **行为型模式**(Behavioral Patterns):关注对象之间的责任分配和通信,包括策略模式(Strategy)、模板方法模式(Template Method)、迭代器模式(Iterator)、观察者模式(Observer)、访问者模式(Visitor)...

    设计模式那点事

    设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决问题的可重用解决方案。《设计模式那点事》这本书的PPT为我们提供了一种深入理解和学习设计模式的途径。在这里,我们将深入探讨设计模式的核心概念、...

    C++设计模式课件3_Template Method_模板方法.pdf

    ### C++设计模式课件3_Template Method_模板方法 #### 模板方法设计模式解析 模板方法模式(Template Method Pattern)是一种行为型设计模式,它允许我们定义算法的骨架,并将部分步骤推迟到子类中实现。这种模式...

    Eclipse Template与模式

    在软件开发过程中,模板(Template)和设计模式(Design Pattern)是两个重要的概念。模板主要用于简化代码编写过程中的重复工作,提高编码效率;而设计模式则侧重于解决常见的软件设计问题,提供经过验证的解决方案...

    设计模式之美—学习笔记

    模板方法模式(Template Method)定义了操作中的算法骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。命令模式(Command)将请求封装为一个对象,以便使用不同的...

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

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

    《Java设计模式》课后答案-刘伟.rar

    行为型设计模式如策略(Strategy)、模板方法(Template Method)、观察者(Observer)、命令(Command)、迭代器(Iterator)、访问者(Visitor)、状态(State)、职责链(Chain of Responsibility)、解释器...

    Django的MVT设计模式(Model-View-Template)示例代码

    如果要开发一个好的网站或网络应用,就必需了解经典的软件开发所遵循的MVC 设计模式。本篇详细总结软件开发所遵循的MVC...Django Model(模型), URL(链接), View(视图) 和Template(模板)又是如何遵循MVC软件设计模式的。

    Template工程模板_template_

    此外,还可以深入研究模板中的设计模式和最佳实践,以便在自己的项目中应用。 总之,"Template工程模板_template_"是一个旨在加速开发过程、提供标准化结构的工具。通过对模板工程的学习和使用,开发者可以提高工作...

Global site tag (gtag.js) - Google Analytics