读书人

模板方法形式

发布时间: 2012-06-26 10:04:13 作者: rapoo

模板方法模式

模板方法模式:该模式主要思想是,通过抽象类(AbstractClass)对外提供调用入口【templateMethod()】,该入口方法有抽象类实现,抽象类有一些抽象方法【operationOne()、operationTwo()】,是子类【】必须实现的。通过调用入口进行调用子类实现的抽象方法,也可以根据不同的参数调用不同的具体实现类。

?

示例代码如下:

package com.mkf.pattern;public abstract class AbstractClass {public final void templateMethod(){operationOne();operationTwo();}abstract public void operationOne();abstract public void operationTwo();}package com.mkf.pattern;public class ClassOne extends AbstractClass {@Overridepublic void operationOne() {System.out.println("ClassOne 的 operationOne 被调用");}@Overridepublic void operationTwo() {System.out.println("ClassOne 的 operationTwo 被调用");}}package com.mkf.pattern;public class ClassTwo extends AbstractClass {@Overridepublic void operationOne() {System.out.println("ClassTwo 的 operationOne 被调用");}@Overridepublic void operationTwo() {System.out.println("ClassTwo 的 operationTwo 被调用");}}package com.mkf.pattern;public class TestTemplateMethod {/** * @param args */public static void main(String[] args) {AbstractClass acOne = new ClassOne();acOne.templateMethod();AbstractClass acTwo = new ClassTwo();acTwo.templateMethod();}}

?运行结果:

ClassOne 的 operationOne 被调用
ClassOne 的 operationTwo 被调用
ClassTwo 的 operationOne 被调用
ClassTwo 的 operationTwo 被调用

读书人网 >软件架构设计

热点推荐