码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式——模板方法模式

时间:2016-05-12 13:42:32      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

设计模式-模板方法模式

算是看书的笔记并非原创,总结:

模板方法模式定义

Define the skeleton of an algorithm in an operation,deferring some steps to subclasses,Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm’s structure.
模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

模板方法模式进一步介绍

模板模式确实很简单,仅仅使用了java的集成机制,但它是一个应用非常广泛的模式。其中,AbsstractClass(下面代码中)叫做抽象模板,它的方法分为两类;

  • 基本方法
    基本方法也叫基本操作,是由子类实现的方法,并且中模板方法被调用。

  • 模板方法
    可以有一个或几个,一般是一个具体方法,也就是一个框架,实现对基本方法的调度,完成固定的逻辑。

  • 代码清单 抽象模板类

public abstract class AbstractClass {

    //基本方法
    protected abstract void doSomething();
    //基本方法
    protected abstract void doAnything();
    //模板方法
    public void templateMethod(){
        //调用基本方法,完成相关的逻辑
        doSomething();
        doAnything();

    }
  • 代码清单 具体模板类
public class ConcreteClass1 extends AbstractClass{

    @Override
    protected void doSomething() {
        //业务逻辑处理
    }

    @Override
    protected void doAnything() {
        //业务逻辑处理
    }

}

public class ConcreteClass2 extends AbstractClass{

    @Override
    protected void doSomething() {
        //业务逻辑处理
    }

    @Override
    protected void doAnything() {
        //业务逻辑处理
    }

}
  • 代码清单 场景类

public class Client{
    public static void main (String [] args){
    AbstractClass class1 = new ConcreteClass1();
    AbstractClass class2 = new ConcreteClass2();
    //调用模板方法
    class1.templateMethod();
    class2.templateMethod();
}
}

设计模式——模板方法模式

标签:

原文地址:http://blog.csdn.net/yanwenyuan0304/article/details/51365016

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!